flask上下文
flask项目中有两个上下文,一个是应用上下文(app),另外一个是请求上下文(request)。请求上下文request和应用上下文current_app都是一个全局变量。
flask有特殊的机制可以保证每次请求的数据都是隔离的,即A请求所产生的数据不会影响到B请求。所以可以直接导入request对象,也不会被一些脏数据影响了,并且不需要在每个函数中使用request的时候传入request对象。这两个上下文具体的实现方式和原理可以没必要详细了解。
- request:请求上下文上的对象。这个对象一般用来保存一些请求的变量。比如method、args、form等。
- session:请求上下文上的对象。这个对象一般用来保存一些会话信息。
- current_app:返回当前的app
- g:应用上下文的对象。处理请求时用作临时存储的对象。
current_app
- 倒入库
from flask import Flask,session,current_app
- 我们打印一下看看输出什么
@app.route('/')
def index():
username = session.get('username')
print(username)
print(current_app.name)
return '这是首页'