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

相关推荐
Cache技术分享4 小时前
346. Java IO API - 操作文件和目录
前端·后端
sTone873754 小时前
web后端开发概念: VO 和 PO
java·后端·架构
user78805399898804 小时前
openclaw安装
后端
神奇小汤圆4 小时前
一篇文章彻底搞懂 MySQL 和 Redis:原理、区别、项目用法全解析
后端
ray_liang4 小时前
彻底治愈AI“失忆”和胡说八道的真正办法
后端·架构
Java编程爱好者4 小时前
深度拆解Redis持久化:RDB与AOF在百亿数据量下的灾备与恢复策略
后端
数字之心AIEvangelist4 小时前
# 从“古法编程”到“Agent 协同”:2026 AI 编程的范式转移
后端
Soofjan4 小时前
(三)Go Map 1.24之前是什么
后端
我叫黑大帅4 小时前
Go 语言中处理「未知类型数据」的两大核心手段
后端·面试·go