我一直在使用 Django,Django 在运行时将请求对象传递给视图。看起来(乍一看)在 Flask 中应用程序拥有请求并且它被导入(好像它是一个静态资源)。我不明白这一点,我只是想把我的大脑包裹在 WSGI 和 Flask 等周围。感谢任何帮助。
问问题
1267 次
1 回答
7
在 Flask 中,请求是一个线程安全的全局变量,因此您实际上确实导入了它:
from flask import request
我不确定此功能是否与 WSGI 相关,因为其他 WSGI 微框架确实将请求作为视图函数参数传递。“全局”请求对象是 Flask 的一个特性。Flask 还鼓励将对单个请求有效的用户数据存储在名为 flask.g 的类似对象中:
要仅从一个函数到另一个函数共享对一个请求有效的数据,全局变量还不够好,因为它会在线程环境中中断。Flask 为您提供了一个特殊的对象,确保它仅对活动请求有效,并且将为每个请求返回不同的值。简而言之:它做正确的事,就像它对请求和会话所做的那样。
于 2010-09-20T01:56:04.763 回答