Как я получаю доступ к данным сессии в шаблонах Jinja2 (Платформа бутылки на механизме приложения)?

Я выполняю микро Бутылку платформы на Google App Engine. Я использую Jinja2 для своих шаблонов. И я использую Мензурку для обработки сессий. Я - все еще довольно крупный новичок Python и довольно топлюсь, я добрался настолько далеко :) Мой вопрос состоит в том, как я получаю доступ к данным сессии в шаблонах? Я могу получить данные сессии без проблем в рамках фактического кода Python. И я мог передать данные сессии каждый раз, когда я называю шаблон Джинджи. Но так как мне нужны данные сессии в основной строке меню сайта..., который означает, что я должен был бы передать его на каждой странице. Кто-либо знает, могу ли я получить доступ к нему непосредственно в шаблонах?

Например, мне нужны данные сессии для моих ссылок-заголовков:

Домой | FAQ | вход в систему

или

Домой | FAQ | выход из системы

Любая справка значительно ценится!:D

7
задан Chris McCall 31 March 2010 в 15:24
поделиться

1 ответ

Вы можете добавить вещи в Jinja2 environment globals, если хотите, чтобы они были доступны всем шаблонам. Дополнительную информацию смотрите на этой странице.

Обновление:

Простой пример: для кода настройки:

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

Затем, в коде обработки запроса:

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
11
ответ дан 6 December 2019 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: