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 contextrequest context

  1. application 指的就是当你调用app = Flask(__name__)创建的这个对象app

  2. request 指的是每次http请求发生时,WSGI server(比如gunicorn)调用Flask.__call__()之后,在Flask对象内部创建的Request对象;

  3. application 表示用于响应WSGI请求的应用本身,request 表示每次http请求;

  4. application的生命周期大于request,一个application存活期间,可能发生多次http请求,所以,也就会有多个request

 

application 就是指app = Flask(__name__)对象
request 就是对应每次http 请求创建的Request对象
flask通过_RequestContextappRequest关联起来

总结

    1. app = Flask(__name__)创建了application, 这个application对应的上下文,就是application context

    2. Flask每响应一个http请求,就会创建一个Request对象,这个request对象对应的上下文,就是request context

posted @ 2018-06-08 19:08  exchange<>  阅读(103)  评论(0编辑  收藏  举报