当前位置: 首页 > news >正文

食品加工设备建站方案域名链接网站

食品加工设备建站方案,域名链接网站,erp教学零基础入门,公司建设网站需求分析报告流程图如下图所示#xff1a; 调用相关类如下图所示#xff1a; 相关代码如下#xff1a; from flask import Flask, sessionapp Flask(__name__)1. 加密会话数据#xff1a;在 Flask 中#xff0c;会话数据存储在客户端的 cookie 中。设置 app.secret_key 可以加密会话…流程图如下图所示 调用相关类如下图所示 相关代码如下 from flask import Flask, sessionapp Flask(__name__)1. 加密会话数据在 Flask 中会话数据存储在客户端的 cookie 中。设置 app.secret_key 可以加密会话 cookie确保数据的安全性。 2. 签名数据通过设置 app.secret_keyFlask 可以对客户端发送的数据进行签名用于验证数据的完整性和来源。app.secret_key 1111111app.route(/index1) def index():# 调用session的__setitem__方法# 去ctx中获取session特殊的字典session[k1] 123return Indexapp.route(/index2) def index2():# 调用session的__getitem__方法print(session[k1])return Index2if __name__ __main__:app.__call__()app.run() 1、flask实例化之后可以执行的__ call __方法 # self为实例化的app对象 def __call__(self, environ: WSGIEnvironment, start_response: StartResponse ) - cabc.Iterable[bytes]:# 调用wsgi_app方法return self.wsgi_app(environ, start_response) 2、调用wsgi_app方法 def wsgi_app(self, environ: WSGIEnvironment, start_response: StartResponse ) - cabc.Iterable[bytes]:# 调用request_context方法返回ctx对象request_context方法中返回一个类对象RequestContextctx RequestContext(self, environ)结合下面的流程最终可以得到ctx中有request(environ),session;将两者打包到一块ctx self.request_context(environ)error: BaseException | None Nonetry:try:对session进行赋值if self.session is None:session_interface self.app.session_interfaceself.session session_interface.open_session(self.app, self.request) ​if self.session is None:self.session session_interface.make_null_session(self.app)ctx.push()执行视图函数response self.full_dispatch_request()except Exception as e:error eresponse self.handle_exception(e)except:  # noqa: B001error sys.exc_info()[1]raisereturn response(environ, start_response)finally:if werkzeug.debug.preserve_context in environ:environ[werkzeug.debug.preserve_context](_cv_app.get())environ[werkzeug.debug.preserve_context](_cv_request.get()) ​if error is not None and self.should_ignore_error(error):error None ​ctx.pop(error) 2.1、request_context方法源码如下 def request_context(self, environ: WSGIEnvironment) - RequestContext:# 返回RequestContext对象 self 表示实例化的Flask对象appenviron表示wsgi环境return RequestContext(self, environ) 2.1.1、RequestContext类中进行的操作 def __init__(self,app: Flask,environ: WSGIEnvironment,request: Request | None None,session: SessionMixin | None None, ) - None:self.app app判断如果request是空的话将其赋值为app.request_class(environ)即 request_class: type[Request] RequestrequestRequestif request is None:request app.request_class(environ)request.json_module app.jsonself.request: Request requestself.url_adapter Nonetry:self.url_adapter app.create_url_adapter(self.request)except HTTPException as e:self.request.routing_exception eself.flashes: list[tuple[str, str]] | None None设置session值self.session: SessionMixin | None session ​self._after_request_functions: list[ft.AfterRequestCallable[t.Any]] []...... 2.2、调用push方法对session进行赋值 def push(self) - None:app_ctx _cv_app.get(None) ​if app_ctx is None or app_ctx.app is not self.app:app_ctx self.app.app_context()app_ctx.push()else:app_ctx None ​self._cv_tokens.append((_cv_request.set(self), app_ctx)) ​对session进行赋值if self.session is None:# session_interface: SessionInterface SecureCookieSessionInterface()session_interface self.app.session_interface# SecureCookieSessionInterface.open_session(self.app, self.request)self.session session_interface.open_session(self.app, self.request) ​if self.session is None:self.session session_interface.make_null_session(self.app) ​if self.url_adapter is not None:self.match_request() 2.2.1、SecureCookieSessionInterface.open_session(self.app, self.request)方法由此所知session是一个特殊的字典。 def open_session(self, app: Flask, request: Request) - SecureCookieSession | None:s self.get_signing_serializer(app)if s is None:return None如果拿不到值就返回session_class()session_class() class SecureCookieSession(CallbackDict, SessionMixin)继承class CallbackDict(UpdateDictMixin, dict):CallbackDict继承dict字典val request.cookies.get(self.get_cookie_name(app))if not val:return self.session_class()max_age int(app.permanent_session_lifetime.total_seconds())try:data s.loads(val, max_agemax_age)return self.session_class(data)except BadSignature:return self.session_class() 初步学习继续补充完善......
http://www.zqtcl.cn/news/127612/

相关文章:

  • 有免费的微网站是什么推广普通话调查问卷
  • 滁州市南谯区住房和建设局网站网站服务器规划 用户数
  • 静态企业网站源码网站sem托管
  • 17网站一起做网店打不开专业做网站公司 前景
  • 哪个网站可以做围棋作业游览有关小城镇建设的网站
  • 这么建立com的网站开发公司以现金方式补贴给客户
  • 网站建设 常见问题wordpress 手机顶部菜单
  • 医院网站 功能系统开发文档
  • 免费的企业网站网站空间商排名
  • 格子三合一交友婚恋网站模板网站后台用什么
  • 网站运营与管理期末考试数字营销经典案例
  • 官方网站英语门户网站策划书
  • 建国外网站需要多少钱做网站的底图尺寸多大
  • wordpress页面更新发布失败seo网络优化是做什么的
  • 百度收录多的是哪些网站网站本科报考官网
  • 成都管理咨询公司排名seo策略怎么写举例
  • 建设网站的难点动漫设计属于什么专业
  • 辽阳做网站的公司大型营销型网站制作
  • 已有域名怎么建设网站wordpress数据主机名
  • 网站设计的公司蒙特注册成立公司的基本流程
  • 成交型网站山西网络营销
  • 做网站必须在工信部备案吗网站开发英语
  • 门户网站模板图片建设厅网站初始数据入库
  • 甘肃三北防护林建设局网站阿里企业邮箱app
  • 沃尔沃公司网站建设公司建网站费用
  • 新网站怎么发外链公司做网站 要准备哪些素材
  • 建站域名英雄联盟网页制作素材
  • 手机网站 微信网站 区别布吉做网站
  • 网站建设层级图微信小程序怎么制作网页
  • 服务器上的网站怎么做301中小企业网站制作报价