Django4.0 URL調(diào)度器-命名URL模式

2022-03-16 17:42 更新

為了完成反向解析 URL ,你需要像上面那樣使用 命名 URL 模式 。用于命名 URL 的字符串可以包含任意字符,并不僅限于 Python 里合法的命名。

當(dāng)命名 URL 模式時(shí),請(qǐng)選擇名稱(chēng)與其他應(yīng)用名稱(chēng)沖突的名字。如果你命名的 URL 模式 ?comment和其他應(yīng)用程序做了同樣的事情,?reverse()? 查詢(xún)出的 URL 會(huì)是在項(xiàng)目的 ?urlpatterns列表里靠后的那個(gè)。

在 URL 名稱(chēng)前加入前綴,可以來(lái)自app名稱(chēng)(比如 ?myapp-comment? 而不是 ?comment ?),這樣可以減少?zèng)_突。

如果你想覆蓋某個(gè)視圖,你可以有意選擇一些和應(yīng)用程序 相同的URL名。比如,一個(gè)常見(jiàn)的案例是覆蓋 ?LoginView ?。Django 的部分和絕大多數(shù)第三方 app 假設(shè)這個(gè)視圖有名叫 ?login的 URL 模式。如果你有名叫 ?login的自定義登錄視圖,?reverse()? 將會(huì)在 ?django.contrib.auth.urls? 之后尋找你的自定義視圖。

如果多個(gè) URL 模式的參數(shù)不同,也可以使用相同的名稱(chēng)。除了 URL 名稱(chēng)外, ?reverse()? 會(huì)匹配參數(shù)的數(shù)量和關(guān)鍵字參數(shù)的名稱(chēng)。路徑轉(zhuǎn)換器也可以引發(fā) ?ValueError? 表示不匹配。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)