python web開發-flask中url帶斜線/和不帶斜線/的區別詳解

flask中帶斜線和不帶斜線的url

通過flask進行路由配置的時候,有一個細節,就是同樣的url,帶上”/”和不帶”/”有什麼區別。

舉例說明:

比如有個url,名字爲”/url”

先同時定義兩種url,一種帶”/”,一種不帶”/”,如下代碼:

@app.route("/url")
def urlWithOut():
return "url with out /"


@app.route("/url/")
def urlWith():
return "url with /"

訪問/url,效果如下:

clip_image001

訪問/url/效果如下:

clip_image002

然後把/url這個定義註釋掉,再次訪問/url,發現會跳轉到/url/這個地址上

如果把/url/這個定義註釋掉,保留/url這個定義,再次訪問/url/,發現報404錯誤

clip_image004

結論,當帶斜線和不還斜線的url同時存在時,兩個url相互獨立可以各自處理各自的邏輯。

當帶斜線的url存在,不帶斜線的url不存在時,帶斜線的url和不帶斜線的url可以同時訪問不過返回的結果是同樣的。

當帶斜線的url不存在,不帶斜線的url存在時,帶斜線的url返回404,不帶斜線的url可正常訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章