Я пытаюсь сохранить словарь кеша в моем приложении flask
.
Насколько я понимаю, Контекст приложения, в частности, объект flask.g должен для этого.
Настройка:
import flask as f
app = f.Flask(__name__)
Теперь, если я делаю
with app.app_context():
f.g.foo = "bar"
print f.g.foo
он печатает bar
.
Продолжая следующие
with app.app_context():
print f.g.foo
AttributeError: '_AppCtxGlobals' object has no attribute 'foo'
Я не понимаю этого, и документы не помогают вообще. Если я правильно их прочитал, состояние должно быть сохранено.
Еще одна идея. Я имел в виду просто использовать переменные модуля:
cache = {}
def some_function():
cache['foo'] = "bar"
но кажется, что они получают reset с каждым запросом.
Как это сделать правильно?
Изменить: Колба 10.1