Domanda

Sono in esecuzione il micro quadro bottiglia su Google App Engine. Sto utilizzando Jinja2 per i miei modelli. E sto usando Beaker per gestire le sessioni. Sono ancora un principiante abbastanza grande Python e sono abbastanza entusiasta ho ottenuto fino a questo punto :) mia domanda è come faccio ad accedere ai dati sessione all'interno del template? Posso ottenere i dati della sessione non è un problema all'interno del codice python vero e proprio. E ho potuto passare i dati di sessione ogni volta che io chiamo un modello di Jinja. Ma dal momento che ho bisogno dei dati di sessione nella barra dei menu principale del sito ... che significa che avrei dovuto passare su ogni singola pagina. Qualcuno sa se posso accedervi direttamente nei modelli?

Per esempio ho bisogno dei dati di sessione per i miei link di intestazione:

Home | FAQ | Accedi

o

Home | FAQ | Esci

Ogni aiuto è molto apprezzato! : D

È stato utile?

Soluzione

È possibile aggiungere le cose al Jinja2 globali ambiente se si desidera che siano accessibili a tutti i modelli. Vedere questa pagina per ulteriori informazioni.

Aggiornamento:

Un semplice esempio è, per il vostro codice di installazione:

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

Poi, nel codice richiesta di movimentazione:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top