相关疑难解决方法(0)

在烧瓶应用中保持全局状态

我试图在我的flask应用程序中保存缓存字典.

据我所知,应该使用Application Context,特别是flask.g对象.

建立:

import flask as f

app = f.Flask(__name__)
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

with app.app_context():
    f.g.foo = "bar"
    print f.g.foo
Run Code Online (Sandbox Code Playgroud)

它打印bar.

继续以下内容:

with app.app_context():
    print f.g.foo

AttributeError: '_AppCtxGlobals' object has no attribute 'foo'
Run Code Online (Sandbox Code Playgroud)

我不明白,文档根本没有帮助.如果我正确阅读它们,应该保留状态.

我的另一个想法是简单地使用模块范围的变量:

cache = {}

def some_function():
    cache['foo'] = "bar"
Run Code Online (Sandbox Code Playgroud)

但似乎每次请求都会重置这些内容.

怎么做到这一点?

编辑: Flask 10.1

python state global flask

57
推荐指数
3
解决办法
5万
查看次数

标签 统计

flask ×1

global ×1

python ×1

state ×1