redirect(url_for())
で値を渡すことが可能かどうか疑問に思っていました。フラスコ内のurl_forをリダイレクトする変数を渡す
Basicの例:私は自宅の機能を持っている:
@app.route("/")
def home(msg=None):
return render_template("home.html", mgs=msg)
は、どのように私は家関数にメッセージを渡すことができますか? redirect(url_for())
と
@app.route("/logout")
def logout():
logout_user()
return render_template('home.html', msg="logged out")
:つまり 私はこれを行うことができますか?
この:?
@app.route("/logout")
def logout():
logout_user()
return redirect(url_for(('home', msg="logged out"))
はちょうど私に取得/ MGSとURLを与える= 'ログアウト'。
私は、url_forが、それに渡される関数の名前に基づいてurlを生成していることを理解します。あなたはその関数に価値を渡すことができますか?
総額(ただし、完全に非現実的ではない)方法は、セッション変数を使用することですが、それ以外に、番号:
も見ますそれはいけません。 – CodeLikeBeaker
URLがその変数を期待している場合*できます。したがって、あなたのルートが "/ logout /:message"だった場合、それはうまくいくでしょうが、あなたのURLは "/ logout/logged out"となり、さらに恐ろしいものになります。 (ただし、セッションを使用することについてはまったく問題ありませんが、それはまさにそのためのものです) –