扫码阅读
手机扫码阅读

Flask 上下文是什么 ?

183 2024-07-20

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Flask 上下文是什么 ?
文章来源:
咸鱼运维杂谈
扫码关注公众号

Flask 上下文简介

本文由咸鱼撰写,旨在解释Flask上下文的初衷和应用。Flask上下文通过本地线程技术实现隔离,确保并发处理多个请求时各自独立。每个请求都会创建一个Flask上下文对象,包含全局或请求级别的变量。请求处理时,为上下文对象分配本地线程,请求完毕后销毁上下文对象,确保线程安全。

Flask 上下文的工作机制

Flask应用通过将每个请求分配给不同线程,创建对应的上下文对象来处理多个同时发生的请求。Flask使用werkzeug.local模块的Local类通过线程ID区分请求上下文。

两种上下文

Flask上下文分为应用上下文和请求上下文。应用上下文是全局的运行环境,存储应用配置等信息;请求上下文是每个请求独立的运行环境,存储请求相关信息。应用上下文在整个应用生命周期内只有一个,而请求上下文随请求动态创建和销毁。

上下文激活

Flask上下文激活分为自动激活和手动激活。自动激活在处理请求时无需手动干预,如使用flask run命令启动程序。手动激活在特殊情况下需要,如单元测试,通过app.app_context()管理器激活应用上下文。无论哪种激活方式,目的都是访问请求上下文并在请求处理完毕后销毁。

结语

感谢阅读本文,作者咸鱼希望读者了解Flask上下文的设计意图和工作方式,并鼓励读者支持作者继续写作。

想要了解更多内容?

查看原文:Flask 上下文是什么 ?
文章来源:
咸鱼运维杂谈
扫码关注公众号