W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
為了完成反向解析 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
? 表示不匹配。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: