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