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

相关推荐
JaydenAI13 小时前
[LangChain之链]Runnable,不仅要可执行,还要可存储、可传输、可重建、可配置和可替换
python·langchain
UIUV13 小时前
AI Agent 开发实战:从原理到最小化实现
后端·langchain·node.js
canonical_entropy13 小时前
反直觉的软件设计洞察:为什么你可能想不到它们
后端·aigc·领域驱动设计
树獭叔叔13 小时前
01-注意力机制详解:大模型如何决定"该关注什么"?
后端·aigc·openai
lihao lihao13 小时前
接口自动化测试—request模块
开发语言·python
lintax13 小时前
计算π值-割圆法
python·公式推导·计算π·割圆法
升讯威在线客服系统13 小时前
从 GC 抖动到稳定低延迟:在升讯威客服系统中实践 Span 与 Memory 的高性能优化
java·javascript·python·算法·性能优化·php·swift
what丶k13 小时前
Docker 进阶指南:从入门能用,到生产环境稳、快、安全的核心实践与底层原理
后端·docker·容器