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

Tyl*_*erW 7 python session google-app-engine jinja2 beaker

我在Google App Engine上运行微框架.我正在使用Jinja2作为我的模板.我正在使用Beaker来处理会话.我仍然是一个非常大的Python新手,而且我很开心我得到了这个:)我的问题是我如何访问模板中的会话数据?我可以在实际的python代码中获得会话数据没问题.我每次调用jinja模板时都可以传递会话数据.但是因为我需要站点主菜单栏中的会话数据...这意味着我必须在每个页面上传递它.有谁知道我是否可以直接在模板中访问它?

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

主页| 常见问题| 登录

要么

主页| 常见问题| 登出

任何帮助是极大的赞赏!:d

Vin*_*jip 11

如果希望所有模板都可以访问它们,可以将它们添加到Jinja2 环境全局变量中.有关其他信息,请参阅此页面.

更新:

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

from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
Run Code Online (Sandbox Code Playgroud)

然后,在您的请求处理代码中:

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
Run Code Online (Sandbox Code Playgroud)