當我訪問我的(想象中的網站)時,它可以作業:
mywebsite.com/flowers
但是如果我在最后添加一個“/”,我會得到一個“未找到”錯誤:
mywebsite.com/flowers/
假設我的路線是:
@app.route('/flowers', methods=['GET'])
def xyz():..
我應該將“/flowers/”重定向到/“flowers”還是應該添加多條路線?如果不為每個(原始路線 “/”)復制粘貼我的整個函式,我不確定它應該如何作業。
uj5u.com熱心網友回復:
在 Flask 中,帶尾隨和不帶尾隨的 URL 重定向的/作業方式不同。
@app.route('/works/')
def works():
return 'This works'
@app.route('/sorry')
def sorry():
return 'sorry'
端點的 URLworks有一個尾部斜杠。它類似于檔案系統中的檔案夾。如果您訪問的 URL 沒有尾部斜杠 ( /works),Flask 會將您重定向到帶有尾部斜杠的 URL /works/。
端點的 URLsorry沒有尾部斜杠。它類似于檔案的路徑名。使用尾部斜杠訪問 URL/sorry/會產生404“未找到”錯誤。
或者,要使其在應用程式級別起作用,您可以使用
app.url_map.strict_slashes = False
設定strict_slashes為 False 將按預期與/sorry/路由一起作業。
以斜杠結尾的 URL 路由是分支,其他的是葉子。如果strict_slashes啟用(默認),則訪問不帶斜杠的分支 URL 將重定向到附加斜杠的 URL。
參考:Flask 檔案,Werkzeug 檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/482462.html
下一篇:Flask處理多個錯誤
