перенаправить при передаче аргументов

В колбе я могу сделать это:

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 маршрут, так что мне не нужно просто переписать тот же логический код, который этот маршрут вычисляет перед его загрузкой?