Ich versuche, ein Cache-Verzeichnis in meiner flask
Anwendung zu speichern.Erhalt des globalen Status in einer Flaschen-Anwendung
Soweit ich es verstehe, sollte dafür die Application Context, insbesondere die flask.g object verwendet werden.
Setup:
import flask as f
app = f.Flask(__name__)
Nun, wenn ich
with app.app_context():
f.g.foo = "bar"
print f.g.foo
tun es druckt bar
.
Weiter mit dem folgenden
with app.app_context():
print f.g.foo
AttributeError: '_AppCtxGlobals' object has no attribute 'foo'
ich es nicht verstehen und die Dokumentation sind überhaupt nicht helfen. Wenn ich sie richtig lese, hätte der Zustand erhalten bleiben sollen.
Eine weitere Idee ich hatte, war einfach Modul weite Variablen verwenden:
cache = {}
def some_function():
cache['foo'] = "bar"
aber es scheint, wie diese mit jeder Anfrage zurückgesetzt zu bekommen.
Wie wird das richtig gemacht?
Edit: Flask 10.1
Haben Sie [Flask-Cache] (http://pythonhosted.org/Flask-Cache/) ausgecheckt? –
Nein, danke für den Link, aber es ist so eine einfache Aufgabe, dass ich die Abhängigkeiten niedrig halten möchte. – Profpatsch
welche Version von Flask benutzen Sie? – codegeek