Flask + Jinja:将数据传递给基本模板/所有模板

时间:2014-10-22 00:41:52

标签: flask jinja2

我有一个方法可以返回我的基本模板中所需的数据(全局页脚的内容)。

如何(1)将变量传递到基本模板(其他模板扩展)或(2)将变量全局传递给所有模板而不在调用render_template时明确添加它?

1 个答案:

答案 0 :(得分:42)

来自烧瓶文档:Flask's Context Processors

  

将新变量自动注入模板的上下文中,   Flask中存在上下文处理器。上下文处理器在之前运行   模板被渲染并具有注入新值的能力   模板上下文。上下文处理器是返回a的函数   字典。然后合并该字典的键和值   使用模板上下文,适用于应用中的所有模板:

docs中的示例:

@app.context_processor
def inject_user():
    return dict(user=g.user)

请注意,此示例使用g变量,该变量已在模板中访问。