1. Flask、Django、Tornado框架区别
2. Flask快速入门
3. 配置文件
4. 路由系统
5. 模板
6. 请求&响应相关
7. session & cookie
8. 闪现(from flask import flask, get_flashed_message)
9. 蓝图
10. 请求扩展(django 中间件)
11. 中间件
12. 上下文管理(核心)
- threading.local
- 请求上下文:RequstContext
- request
- session
- 应用上下文:AppContext
- app(current_app)
- g (It is a simple namespace object that has the same lifetime as an application context.)
- 实现细节:
- RequstContext(AppContext)对象通过LocalStack添加到Local中。
- 导入request(session、current_app、g)是LocalProxy对象 -> 通过偏函数 -> LocalStack -> Local
- RequstContext的auto_pop -> LocalStack.pop -> Local中移除
PS:永远两个Local对象。
- 多app应用
- 为什么用栈?
- 零碎:
- LocalProxy类
- 偏函数
- chain