请求-响应
请求分派
- url_map:字典类型的所有URL规则
上下文对象
- 应用上下文
- 请求上下文
- 在分派请求之前激活应用上下文和请求上下文
- 在请求处理完成后将其删除
理解上下文
应用上下文
-
current_app
对象
当前应用的实例 -
g
对象
处理请求时的临时存储对象,每次请求都会重设这个变量 -
例子
from flask import Flask, current_app
app = Flask(__name__)
@app.route('/index')
def index():
print(app)
print(current_app)
print(app is current_app)
print(app == current_app)
return 'index'
# v1.0以后版本不推荐的写法
if __name__ == '__main__':
app.run(debug=True)
app
和current_app
是不同的对象,只是值相同- 运行结果:
* Serving Flask app 'app.py' (lazy loading)
* Environment: development
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 139-753-380
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [14/Oct/2021 12:38:45] "GET / HTTP/1.1" 404 -
<Flask 'app'>
<Flask 'app'>
False
True
127.0.0.1 - - [14/Oct/2021 12:38:52] "GET /index HTTP/1.1" 200 -
请求上下文对象
- request
请求对象,封装了客户端发出的HTTP请求中的内容 - session
用户会话(dict),各请求之间的数据共享