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