Flask上下文
上下文: 保存前端和后台连接状态的容器
1>> 请求上下文:
request: 主要针对http的请求内容,
常用属性: args user= request.arge.get('user');
form表单当中的数据: user =request.form.get('user')
data 前端页面传给后端的数据
cookie : 状态保持的一种
session: 保存的用户数据
session['name'] = user.id 记录用户信息
session.get('name')获取用户信息
2>> 应用上下文: 伴request请求而生, 伴request而灭
current_app: 用于存储应用程序中的变量, current_name打印当前app的名称
也可以存储一些变量:
1.应用的启动脚本是哪个文件, 启动时制定了那些参数
2.加载了那些配置文件
3.连接了那个数据库
4.应用的ip; 内存..........
g: 充当媒介, 可以传递一些数据, 保存的是当前请求的全局变量
请求上下文 : 保存了客户端和服务器交互的数据
应用上下文: flask应用程序运行过程中, 保存的配置信息, 程序名, 数据库连接, ..............
这里需要通俗地解释一下application context与request context:
-
application 指的就是当你调用
app = Flask(__name__)
创建的这个对象app
; -
request 指的是每次
http
请求发生时,WSGI server
(比如gunicorn)调用Flask.__call__()
之后,在Flask
对象内部创建的Request
对象; -
application 表示用于响应WSGI请求的应用本身,request 表示每次http请求;
-
application的生命周期大于request,一个application存活期间,可能发生多次http请求,所以,也就会有多个request
application 就是指app = Flask(__name__)
对象
request 就是对应每次http 请求创建的Request
对象
flask通过_RequestContext
将app
与Request
关联起来
总结
-
app = Flask(__name__)
创建了application, 这个application对应的上下文,就是application context -
Flask
每响应一个http请求,就会创建一个Request
对象,这个request对象对应的上下文,就是request context