url()函數(shù)可以被傳入4個(gè)參數(shù),兩個(gè)是必須的:regex和view,兩個(gè)是可選的:kwargs和name,下面來(lái)看一下這些參數(shù)都是干什么用的。
url()參數(shù):regex
“regex”經(jīng)常被用作正則表達(dá)式的縮寫(xiě),正則表達(dá)式是一種對(duì)字符串進(jìn)行模式匹配的語(yǔ)法,對(duì)于我們而言,就是對(duì)url模式的匹配。Django會(huì)把請(qǐng)求的url從第一條正則表達(dá)式開(kāi)始匹配,直到找到一個(gè)可以匹配上的正則表達(dá)式為止。
需要注意的是,正則表達(dá)式并不查詢(xún)get或者post參數(shù),以及域名,例如,當(dāng)請(qǐng)求指向https://www.example.com/myapp/,URLconf會(huì)查找myapp/。當(dāng)請(qǐng)求指向https://www.example.com/myapp/?page=3, URLconf還是會(huì)查找myapp/
url()參數(shù):view
當(dāng)正則表達(dá)式被匹配,view函數(shù)就會(huì)被調(diào)用。而且HttpRequest對(duì)象會(huì)作為第一個(gè)參數(shù),其它被正則表達(dá)式捕獲的值會(huì)作為其它參數(shù)傳入到函數(shù)中。
url()參數(shù):kwargs
其它的參數(shù)以字典的形式傳入
url()參數(shù):name
給你的url起個(gè)名字讓能讓你在其它地方明確引用它。這個(gè)強(qiáng)大的功能可以讓你只要修改一個(gè)文件就能修改你的URL 模式。