6.正向路由

必須學(xué)會(huì)正向路由

1. 路由

? 將url與視圖進(jìn)行綁定. (路由用于維護(hù)url與視圖之間 關(guān)系.)


? 通過(guò)正則匹配的形式對(duì)url進(jìn)行匹配, 調(diào)用相應(yīng)的視圖?

2. 回顧常用的正則表達(dá)式

^ : 以...開(kāi)始

$ : 以...結(jié)束

單字符簇:

.? 任意字符

\d 任意數(shù)字

[A-Z] 任意大寫字母

[a-z] 任意小寫字母

[A-Za-z] 任意字母不區(qū)分大小寫

匹配數(shù)量

*? 任意多個(gè)

+? 一到多個(gè)

{1,9} 1到9個(gè)

{9} 9個(gè)

? 0或者1個(gè)

[^/]+ 一到多個(gè), 直到遇到斜線

3. 現(xiàn)在通常網(wǎng)址傳參數(shù)的方式有兩種

1. 直接通過(guò)url后面加?的形式傳遞參數(shù)

2. (利于seo)? 將參數(shù)與url融合到一塊

例如:

https://item.jd.com/100001550349.html

https://www.douban.com/note/702775743/

3. 如何從url中獲取信息

a. 假設(shè) 現(xiàn)在訪問(wèn) 圖書(shū)中謀本數(shù)的詳情

http://127.0.0.1:8009/book/9999.html

就訪問(wèn)id為9999的圖書(shū)的信息

b. url綁定的時(shí)候?qū)懛?/p>

urlpatterns = [

url(r'^index/$',index,name="圖書(shū)首頁(yè)"),

url(r'^\d+\.html$',detail,name="圖書(shū)詳情"),

]

c. 如何獲取 url中的信息

使用 小括號(hào) () 將需要獲取的信息 括起來(lái), 將獲取到信息自動(dòng)傳遞給 視圖函數(shù) 的第二位置參數(shù)開(kāi)始.

urlpatterns = [

url(r'^index/$',index,name="圖書(shū)首頁(yè)"),

url(r'^(\d+)\.html$',detail,name="圖書(shū)詳情"),

]

d. 也可以在url信息中傳遞多個(gè)參數(shù)

使用多個(gè)小括號(hào)

http://127.0.0.1:8009/book/list/yanqing/1/? ? 訪問(wèn)言情小說(shuō), 排序?yàn)榻敌?

urlpatterns = [

url(r'^index/$',index,name="圖書(shū)首頁(yè)"),

url(r'^(\d+)\.html$',detail,name="圖書(shū)詳情"),

url(r'^list/([a-z]+)/(\d)/$',list_book,name="圖書(shū)列表"),

]

e. 以上都是以位置參數(shù)的形式傳遞給視圖函數(shù)

? ? 還可以 以關(guān)鍵字參數(shù)的形式傳遞給視圖函數(shù)

格式 (?P<參數(shù)名>正則表達(dá)式)

例如:

# 以關(guān)鍵字形式傳遞參數(shù)

url(r'^list/(?P<type>[a-z]+)/(?P<order>\d)/$',list_book,name="圖書(shū)列表")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 已經(jīng)同步到gitbook,想閱讀的請(qǐng)轉(zhuǎn)到gitbook: Django 1.10 中文文檔 URL dispatc...
    leyu閱讀 14,429評(píng)論 0 16
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,330評(píng)論 0 17
  • 一、模式簡(jiǎn)介 定義:定義了一系列算法,并將每個(gè)算法封裝起來(lái),使它們可以相互替換,且算法的變化不會(huì)影響使用算法的客戶...
    潛心之力閱讀 297評(píng)論 0 0
  • 在JSSE中,證書(shū)信任管理器類就是實(shí)現(xiàn)了接口X509TrustManager的類。我們可以自己實(shí)現(xiàn)該接口,讓它信任...
    Gear_033e閱讀 8,135評(píng)論 0 0

友情鏈接更多精彩內(nèi)容