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 在每个请求完成时,会自动调用请求上下文和应用上下文的弹出逻辑。

相关推荐
wno7047 分钟前
Spring Security基础使用
java·后端·spring
Go_error13 分钟前
那个让我们损失了 47,000 美元 AWS 账单的互斥锁错误
后端
Go_error16 分钟前
接口何时冗余:一种用于 Go 测试的精简依赖注入方法
后端
鱼弦17 分钟前
长尾场景的挑战:大模型如何处理极其冷门的知识?
后端
孙启超18 分钟前
【AI开发之Rust】第 8 课:泛型、trait 与 trait 对象
开发语言·后端·rust
co松柏20 分钟前
一文吃透 Pi:10w stars 的极简 Agent harness
后端·架构
努力学习的代码小白21 分钟前
源码学习04
python
joinwell5227 分钟前
没收到回复,再点一次会启动两个 AI 吗?
人工智能·后端
苏三说技术40 分钟前
JDK27正式发布,人麻了!
后端
Ray Wang42 分钟前
Context上下文工程
python·学习·ai编程