Zachowanie globalnego stanu w aplikacji kolby

Próbuję zapisać słownik pamięci podręcznej w moimflask podanie.

Z tego co rozumiemKontekst aplikacji, w szczególnościobiekt flask.g należy do tego użyć.

Ustawiać:

import flask as f

app = f.Flask(__name__)

Jeśli teraz:

with app.app_context():
    f.g.foo = "bar"
    print f.g.foo

Drukujebar.

Kontynuując następujące czynności:

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

AttributeError: '_AppCtxGlobals' object has no attribute 'foo'

Nie rozumiem tego i doktorzy wcale nie pomagają. Jeśli poprawnie je odczytam, stan powinien zostać zachowany.

Inny pomysł Miałem po prostu użyć zmiennych obejmujących cały moduł:

cache = {}

def some_function():
    cache['foo'] = "bar"

Ale wygląda na to, że są one resetowane przy każdym żądaniu.

Jak to zrobić poprawnie?

Edytować: Kolba 10.1

questionAnswers(3)

yourAnswerToTheQuestion