Erhalt des globalen Zustands in einer Kolbenanwendung

Ich versuche ein Cache - Wörterbuch in meinem zu speichernflask Anwendung.

Soweit ich es verstehe,Anwendungskontext, insbesondere dieflask.g Objekt sollte dafür verwendet werden.

Konfiguration:

import flask as f

app = f.Flask(__name__)

Wenn ich das tue:

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

Es drucktbar.

Weiter mit:

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

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

Ich verstehe das nicht und die Dokumente helfen überhaupt nicht. Wenn ich sie richtig gelesen habe, sollte der Zustand erhalten bleiben.

Eine andere Idee Ich musste einfach modulweite Variablen verwenden:

cache = {}

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

Diese werden jedoch anscheinend bei jeder Anforderung zurückgesetzt.

Wie mache ich das richtig?

Bearbeiten: Kolben 10.1

Antworten auf die Frage(3)

Ihre Antwort auf die Frage