根据中给出的答案,在烧瓶上存储每个请求的数据是否安全。要求似乎g
对象是本地请求(=具有单个请求的生存期)。也许我误解了这个答案,但是Flask文档说明g
对象是全局的,这似乎与这个答案相矛盾。
文档本身对这些细节的描述有点短,所以请您向上下文和全局对象g
解释细节好吗?具体解决以下问题:
request
对象、g
对象或哪种类型的对象?)李>
为了在单个请求的生命周期内存储数据,应该如何做到这一点?
g
对象就是为此而设计的。文件规定:
Flask为您提供了一个特殊的对象,确保它仅对活动请求有效,并且将为每个请求返回不同的值。
虽然留档将g
称为"global",但这并不准确-"thell-global"会更好。
为了在应用程序的生命周期内存储数据,应该如何做?
我认为这个问题的答案也比我更好地回答了这个问题:在烧瓶应用程序中保存全局状态
烧瓶可用于多工艺环境。假设在这种操作模式下会有多个应用程序范围的对象,这是否正确?(这意味着所有这些app或g对象都需要在每个工作进程的生命周期内单独初始化。)
在多进程环境中,每个请求都作为一个单独的线程处理,而g
在每个请求的基础上被初始化和销毁,因此将有与线程一样多的并发g
对象-尽管每个线程只能看到自己的线程。在大多数情况下,我怀疑应该只有一个app
对象,一个由程序员创建的Flask()类的实例,即app=Flask(\uuu name\uuu)
或类似的对象。
蓝图和应用程序调度是拥有“多个”应用程序对象的两种方式,只要您有多个应用程序同时运行。