Flask 中的上下文
Flask 中的上下文变量:
变量名 | 上下文类别 | 说明 |
---|---|---|
current_app | 程序上下文 | 指向处理请求的当前程序实例 |
g | 程序上下文 | 替代python的全局变量,确保仅在当前请求中可用,用于存储全局数据,每次请求都会重设 |
request | 请求上下文 | 封装客户端发出的请求报文数据 |
session | 请求上下文 | 用于记住请求之间的数据,通过签名的Cookie实现 |
以上都是指向真实对象的代理,若需要获得原始对象,可以调用_get_current_object()
方法。
以下代码保存了name
这个值,并且可以供其他视图函数使用:
from flask import g
@app.before_request
def get_name():
g.name = request.args.get('name')
@app.route('/hello')
def hello():
return 'Hello, ' + g.name