Frage

Ich bin mit dem Mikro Rahmen Bottle auf Google App Engine. Ich verwende Jinja2 für meine Vorlagen. Und ich bin mit Beaker die Sitzungen zu behandeln. Ich bin immer noch ein ziemlich großer Neuling Python und bin ziemlich begeistert, ich habe so weit :) Meine Frage ist, wie ich in den Vorlagen, um die Session-Daten zugreifen? Ich kann die Session-Daten kein Problem innerhalb des eigentlichen Python-Code. Und ich konnte die Session-Daten jedes Mal gebe ich eine jinja Vorlage nennen. Aber da muß ich die Sitzungsdaten in der Hauptmenüleiste der Website ... das Mittel würde ich es auf jeder einzelnen Seite übergeben. Wer weiß, wenn ich darauf zugreifen kann direkt in den Vorlagen?

Zum Beispiel muss ich die Sitzungsdaten für meine Header Links:

Home | FAQ | Login

oder

Home | FAQ | Logout

Jede Hilfe ist sehr zu schätzen! : D

War es hilfreich?

Lösung

Sie können die Dinge auf die Umwelt Globals rel="noreferrer"> Jinja2 wenn Sie wollen, dass sie zu allen Vorlagen zugänglich sein. Siehe dieser Seite für weitere Informationen.

Update:

Ein einfaches Beispiel ist, für die Setup-Code:

from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))

Dann in Ihrer Anfrage Behandlungscode:

env.globals['session'] = session # Your session
# Your template can contain things like {{ session['key'] }}
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
#return response using rendered data
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top