如何在Jinja2模板中访问会话数据(Bottle框架在应用程序引擎上)?

2024-05-11 04:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Google App Engine上运行微框架Bottle。我使用Jinja2作为模板。我用Beaker来处理会话。我仍然是一个相当大的Python新手,我已经很兴奋了:)我的问题是如何访问模板中的会话数据?我可以在实际的python代码中毫无问题地获得会话数据。每次调用jinja模板时,我都可以传递会话数据。但由于我需要在网站主菜单栏的会话数据。。。那就意味着我必须在每一页上都传下去。有人知道我是否可以直接在模板中访问它吗?

例如,我需要标题链接的会话数据:

首页|常见问题|登录

或者

主页|常见问题|注销

非常感谢您的帮助!:天


Tags: 数据代码框架模板app标题jinja2bottle
1条回答
网友
1楼 · 发布于 2024-05-11 04:21:58

如果希望所有模板都可以访问Jinja2environment globals,则可以向Jinja2environment globals添加内容。有关其他信息,请参见this page

更新:

一个简单的例子是,对于您的设置代码:

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

相关问题 更多 >