最佳答案
在烧瓶里,我可以这样做:
render_template("foo.html", messages={'main':'hello'})
如果 foo.html 包含 {{ messages['main'] }}
,页面将显示 hello
:
@app.route("/foo")
def do_foo():
# do some logic here
return render_template("foo.html")
在这种情况下,如果我希望这种逻辑发生,那么访问 foo.html 的唯一方法是通过一个 redirect
:
@app.route("/baz")
def do_baz():
if some_condition:
return render_template("baz.html")
else:
return redirect("/foo", messages={"main":"Condition failed on page baz"})
# above produces TypeError: redirect() got an unexpected keyword argument 'messages'
那么,我怎样才能把 messages
变量传递给 foo
路由,这样我就不必在加载它之前重写该路由计算的相同逻辑代码了?