可能不是准确的标题,因为我是flask / python的新手。我正在研究一个将由不同团队使用的内部工具。每个团队都有不同的部署阶段,例如alpha
,beta|test
,prod
,他们也有多个区域,例如NA
,EU
,{{1等等......
现在我正在使用AP
我发送redirect_template
和stage
作为变量,然后在模板中使用。但是,为每个region
做一些事情都很麻烦。有没有更好的方法呢?
答案 0 :(得分:6)
我认为您的Flask
对象名称为app
(即app = Flask(__name__)
)。
在app
初始化后立即放置以下代码。
@app.context_processor
def inject_stage_and_region():
return dict(stage="alpha", region="NA")
在您的Jinja模板中,"alpha"
和"NA"
可以引用{{ stage }}
和{{ region }}
。
Flask docs: http://flask.pocoo.org/docs/0.12/templating/#context-processors
要将新变量自动注入模板的上下文,Flask中存在上下文处理器。上下文处理器在呈现模板之前运行,并且能够将新值注入模板上下文。上下文处理器是返回字典的函数。然后,对于应用程序中的所有模板,此字典的键和值将与模板上下文合并