Preservando o estado global em um aplicativo de balão
Eu estou tentando salvar um dicionário de cache no meuflask
aplicação.
Tanto quanto eu entendo, oContexto de Aplicação, em particular oobjeto flask.g deve ser usado para isso.
Configuração:
import flask as f
app = f.Flask(__name__)
Agora, se eu fizer:
with app.app_context():
f.g.foo = "bar"
print f.g.foo
Imprimebar
.
Continuando com o seguinte:
with app.app_context():
print f.g.foo
AttributeError: '_AppCtxGlobals' object has no attribute 'foo'
Eu não entendo e os documentos não ajudam em nada. Se eu os ler corretamente, o estado deveria ter sido preservado.
Outra ideia Eu tinha que simplesmente usar variáveis de todo o módulo:
cache = {}
def some_function():
cache['foo'] = "bar"
Mas parece que estes são redefinidos a cada solicitação.
Como fazer isso corretamente?
Editar: Frasco 10.1