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_815482931 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
IT_陈寒3 分钟前
React组件性能翻倍的5个冷门技巧,90%的开发者不知道!
前端·人工智能·后端
将心ONE6 分钟前
melo tts安装使用
python
aq553560036 分钟前
SpringBoot有几种获取Request对象的方法
java·spring boot·后端
dotNET实验室40 分钟前
ASP.NET Core 外部依赖调用治理实战:HttpClientFactory、Polly 与幂等边界
后端
Nturmoils1 小时前
从「亡羊补牢」到「规则先行」:金仓数据库 SQL 防火墙实战解析
数据库·后端
Oneslide1 小时前
Harbor 启动失败故障排查与解决:从“Cannot allocate memory”到“Operation not permitted”
后端
神超1 小时前
AgentScope 入门:用 Java 快速搭一个可用的 Agent
后端
码事漫谈1 小时前
防患未然,金仓数据库SQL防火墙筑牢数据安全“第一道门”
后端
宸翰1 小时前
Python学习:年轻人的第一个入门Python项目(FastAPI版)
后端·python