Flask找上下文源码

1. app = Flask(name)

app.call

1.1 按住 command 键 点击 进到这个函数里

1.2 接着找 return 看看返回什么 点进去

1.3 找到定义函数

1.4 点进去先看这个里边有啥

1.5 找到定义类

1.6 找到RequestContext 类

1.7 找到 RequestContext ---> 的push 方法

1.8 点击 _cv_request 找到 globals.py 下的 _cv_request栈

2. 在wsgi的push方法中

2.1 进到push 方法

2.2 进到 app_context

2.3 进到APPContext

2.4 在ctx.py下 找到AppContext 类

2.5 找到AppContext --> 的push 方法

2.6 点击 _cv_app ---> 找到 globals.py 下的 _cv_app栈

3. 找到 --> APPContext --> RequestContext

3.1 进到LocalProxy

栈入口

栈的入口可以理解为:

应用上下文入口:当 app_ctx.push() 被调用时,应用上下文被推入栈。

请求上下文入口:当 _cv_request.set(self) 被调用时,当前请求上下文被推入栈。

栈退出

栈的退出通常在 pop() 方法中处理。Flask 在每个请求完成时,会自动调用请求上下文和应用上下文的弹出逻辑。

相关推荐
2301_81800844几秒前
PHP函数如何适配高密度服务器机箱_PHP在紧凑硬件布局优化【操作】
jvm·数据库·python
Coisinilove几秒前
机器学习——线性回归
python·机器学习·线性回归
SamDeepThinking2 分钟前
秒杀系统的幂等,只做一层Redis判重远远不够
java·后端·架构
谢的2元王国2 分钟前
直接open source 我自己的py
python
AI技术增长3 分钟前
Pytorch图像去噪实战(一):从0复现DnCNN并解决训练不收敛问题(附完整工程+踩坑总结)
人工智能·pytorch·python
a7963lin6 分钟前
c#如何实现幂等消费_c#幂等消费的几种常见用法
jvm·数据库·python
kexnjdcncnxjs6 分钟前
Redis怎样实现Session的分布式共享
jvm·数据库·python
wx_xsooop11 分钟前
iOS 审核 上架 被拒 4.3 【深度进阶】
python·编程·技术
tjc1990100513 分钟前
mysql如何防止SQL注入攻击_mysql参数化查询与转义
jvm·数据库·python
盐烟14 分钟前
xpath翻页爬取
python