我想知道是否有可能通過redirect(url_for())
傳遞一個值而不成爲GET。通過變量重定向url_for燒瓶
基本的例子:我有一個家功能:
@app.route("/")
def home(msg=None):
return render_template("home.html", mgs=msg)
我怎麼能傳遞一個消息發送給家庭功能? 換句話說,我可以這樣做:
@app.route("/logout")
def logout():
logout_user()
return render_template('home.html', msg="logged out")
與redirect(url_for())
?
這樣:
@app.route("/logout")
def logout():
logout_user()
return redirect(url_for(('home', msg="logged out"))
只是給我的網址用GET /毫克= '退出'。
據我所知,url_for是基於傳遞給它的函數的名稱生成一個url。你能傳遞一個值給那個函數嗎?
一個總值(但不是完全不切實際的)方法是使用一個會話變量,但除此之外,沒有你不能。 – CodeLikeBeaker
您可以,*如果網址期望該變量。因此,如果你的路由是「/ logout /:message」,那麼這將起作用,但是你的URL最終會變成「/註銷/註銷」,這將更加糟糕。 (雖然請注意,關於使用會話沒有任何重要內容;這正是他們的目的。) –