перенаправить при передаче аргументов
В колбе я могу сделать это:
render_template("foo.html", messages={'main':'hello'})
И если foo.html содержит{{ messages['main'] }}
, страница покажетhello
, Но что, если есть маршрут, который ведет к foo:
@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
маршрут, так что мне не нужно просто переписать тот же логический код, который этот маршрут вычисляет перед его загрузкой?