我试图在我的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