¿Cómo funcionan los datos de sesión de acceso I en las plantillas Jinja2 (marco de la botella en el motor de aplicación)?

StackOverflow https://stackoverflow.com/questions/2554174

Pregunta

Estoy corriendo el marco micro Botella en Google App Engine. Estoy usando Jinja2 para mis plantillas. Y estoy usando Vaso para manejar las sesiones. Todavía soy un novato bastante grande Python y estoy bastante emocionado llegué hasta aquí :) Mi pregunta es ¿cómo se accede a los datos de la sesión dentro de las plantillas? Puedo conseguir los datos de sesión sin problema dentro del código pitón real. Y pude pasar los datos de la sesión cada vez que llamo una plantilla de jinja. Pero ya que necesito los datos de la sesión en la barra de menú principal del sitio ... que significa que tendría que pasan en cada página. ¿Alguien sabe si se puede acceder a él directamente en las plantillas?

Por ejemplo necesito los datos de la sesión para mis enlaces de cabecera:

Inicio | Preguntas frecuentes | Iniciar sesión

o

Inicio | Preguntas frecuentes | Salir

Cualquier ayuda es muy apreciada! : D

¿Fue útil?

Solución

Se puede añadir cosas a la Jinja2 globales del medio ambiente si desea que sean accesibles a todas las plantillas. Ver esta página para obtener información adicional.

Actualización:

Un ejemplo sencillo es, por su código de configuración:

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

A continuación, en el código de control de solicitudes:

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top