I am trying to save a cache dictionary in my flask application.
As far as I understand it, the Application Context, in particular the flask.g object should be used for this.
Setup:
import flask as f app = f.Flask(__name__) Now if I do:
with app.app_context(): f.g.foo = "bar" print f.g.foo It prints bar.
Continuing with the following:
with app.app_context(): print f.g.foo AttributeError: '_AppCtxGlobals' object has no attribute 'foo' I don’t understand it and the docs are not helping at all. If I read them correctly the state should have been preserved.
Another idea I had was to simply use module-wide variables:
cache = {} def some_function(): cache['foo'] = "bar" But it seems like these get reset with every request.
How to do this correctly?
Edit: Flask 10.1