繁体   English   中英

Flask模板中的全局变量

[英]Global variables in Flask templates

可能不是准确的标题,因为我是flask / python的新手。 我正在研究一个将由不同团队使用的内部工具。 每个团队都有不同的部署阶段,例如alphabeta|testprod ,他们也有多个区域,例如NAEUAP等......

现在,当我使用redirect_template时,我将stageregion作为变量发送,然后在模板中使用。 但是,为每个redirect_template做一些都很麻烦。 有没有更好的方法呢?

我假设您的Flask对象的名称是app (即app = Flask(__name__) )。

在初始化app后立即放置以下代码。

@app.context_processor
def inject_stage_and_region():
    return dict(stage="alpha", region="NA")

在您的Jinja模板中, "alpha" {{ stage }} "alpha" {{ stage }} "alpha""NA"可以由{{ stage }}{{ region }}引用。

Flask docs: http//flask.pocoo.org/docs/0.12/templating/#context-processors

要将新变量自动注入模板的上下文,Flask中存在上下文处理器。 上下文处理器在呈现模板之前运行,并且能够将新值注入模板上下文。 上下文处理器是返回字典的函数。 然后,对于应用程序中的所有模板,此词典的键和值将与模板上下文合并

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM