Flask for Python - 关于系统的架构问题

oro*_*aki 7 python flask

我一直在使用Django和Django在运行时将请求对象传递给视图.在Flask中看起来(从第一眼看)应用程序拥有请求并将其导入(就好像它是一个静态资源).我不明白这一点,我只是想把我的大脑包围在WSGI和Flask等等.任何帮助都表示赞赏.

Ser*_*gey 7

在Flask中,请求是一个线程安全的全局,所以你实际上导入它:

from flask import request
Run Code Online (Sandbox Code Playgroud)

我不确定此功能是否与WSGI相关,因为其他WSGI微框架确实将请求作为视图函数参数传递."全局"请求对象是Flask的一项功能.Flask还鼓励存储用户数据,该数据对于名为flask.g的类似对象中的单个请求有效:

要共享仅对一个请求有效的数据从一个函数到另一个函数,全局变量不够好,因为它会在线程环境中中断.Flask为您提供了一个特殊对象,确保它仅对活动请求有效,并为每个请求返回不同的值.简而言之:它做的是正确的,就像它对请求和会话一样.