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

相关推荐
hakesashou3 分钟前
python变量如何加入到文件路径
python
小高Baby@28 分钟前
使用Go语言中的Channel实现并发编程
开发语言·后端·golang
梦弦1828 分钟前
Django:Python高效Web开发利器
python·django
Knight_AL38 分钟前
Spring AOP 中 JoinPoint 使用指南
java·python·spring
知远同学43 分钟前
Pycharm顶部菜单栏固定显示
ide·python·pycharm
默默前行的虫虫1 小时前
nicegui中多次调用数据库操作总结
数据库·python
酩酊仙人1 小时前
ABP+Hangfire实现定时任务
后端·c#·asp.net·hangfire
Salt_07281 小时前
DAY 47 Tensorboard的使用介绍
人工智能·python·深度学习·机器学习
Salt_07281 小时前
DAY 40 早停策略和模型权重的保存
人工智能·python·算法·机器学习
卜锦元1 小时前
Golang后端性能优化手册(第三章:代码层面性能优化)
开发语言·数据结构·后端·算法·性能优化·golang