1. 上下文
- threading.Local和Flask自定义Local对象
- 请求到来
- ctx = 封装RequestContext(request,session) # 包含了请求的所有数据
- ctx放到Local中
- 执行视图时
- 导入request
- print(request) --> LocalProxy对象的__str__
- request.method --> LocalProxy对象的__getattr__
- request + 1 --> LocalProxy对象的__add__
- 调用 _lookup_req_object函数:去local中将requestContext想获取到,再去requestContext中获取request或session
- 请求结束
- ctx.auto_pop()
- ctx从local中移除。