我有一个方法返回数据,这些数据需要在我的基础模板中使用(用于全局页脚内容)。
如何实现以下至少一种方式:(1) 将变量传递到基础模板(其他模板扩展该模板),或者 (2) 在不显式添加"render_template"调用的情况下向所有模板全局传递变量?
如何实现以下至少一种方式:(1) 将变量传递到基础模板(其他模板扩展该模板),或者 (2) 在不显式添加"render_template"调用的情况下向所有模板全局传递变量?
来自Flask文档:Flask的上下文处理器
为了能够自动将新变量注入到模板的上下文中,Flask提供了上下文处理器。上下文处理器在渲染模板之前运行,并有能力向模板上下文中注入新值。上下文处理器是一个返回字典的函数。这个字典的键和值将与应用程序中所有模板的上下文合并:
示例来自文档:
@app.context_processor
def inject_user():
return dict(user=g.user)
请注意,此示例使用g
变量,在模板中已经可以访问。