路由檔案中配置如下:
urlpatterns =[啟動服務,這時候訪問位址path(
'demo
',views.demo1)
]
正常訪問
這時候訪問位址/
會報錯404
因為這裡必須嚴格匹配,在路由中配置的結尾沒有 / 如果需要訪問該位址的話,結尾也不能帶有斜槓
路由檔案中配置如下
urlpatterns =[啟動服務,這時候訪問位址path(
'demo/
',views.demo1)
]
正常訪問 當然如果訪問位址/ 也是能正常訪問的
這裡就有疑問了,為什麼這裡結尾沒有加斜槓,沒有嚴格匹配,卻可以正常訪問,而且訪問的時候還自動給這個位址末尾帶了乙個/
因為django預設配置有乙個設定
顧名思義,就是自動新增斜槓,這裡截圖示例
圖中清晰的展示了整個過程,在輸入的位址是不帶斜槓的時候,根據django預設的配置,會判斷如果新增了斜槓,會不會訪問到資源,如果加了斜槓能訪問到資源的話,就會重定向到加了斜槓的
位址。 但是如果加了斜槓都無法訪問到資源的話,就不會進行重定向的操作,比如 我這裡輸入 127.0.0.1:8000/demo123 再次檢視請求過程 如下圖(這裡就不會去自動加斜槓了)
如果在setting中修改該配置為
這時候再次訪問位址
這裡就會直接報錯404了,不會去做新增斜槓的操作
Django路由系統
urlpatterns path 要匹配的路徑 可以是正規表示式 檢視函式,引數,別名 1 正規表示式 乙個正規表示式字串 2 檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 3 引數 要傳遞給檢視函式的預設引數 字典形式,可選 4 別名 乙個可選的name引數 1 在py...
Django路由分類
也就是不帶引數的路由位址。路由位址url r arg w testarg.arg,name arg 檢視函式 python 帶乙個引數的檢視函式 帶乙個引數的檢視函式 訪問訪問 127.0.0.1 8000 arg ab 乙個檢視函式可以有多個路由位址 路由位址url r args w d test...
Django路由系統
普通的url 函式 有傳遞引數的url django2以上版本,使用正規則要用re path,之前的版本使用url re path add w add 一樣功能 path add add re path r add2 p w p d add path add2 add2 路由分發 使用include...