Django中url匹配规则的补充
Django中url匹配規則是在urls.py文件中配置的。
1、關于正則匹配優先級
在url匹配列表中,如果第一條和第二條同時滿足匹配規則,則優先匹配第一條。
在url匹配列表中,如果第一條為正則模糊匹配,第二條為精確匹配,則優先匹配第一條。如下:
url(r'^2016/([0-9]{2})/$',views.001), url(r'^2016/07/$',views.002),當請求url為localhost:8000/2016/07/時,也會轉發給views.001處理。
將匹配到的數字傳給視圖中函數時,永遠是以字符串的形勢傳遞的。
2、關于二級路由子url配置
請求經過全局url轉發到二級url(子url)時,若子url沒有任何值,使用'^$'代替(匹配首頁)。如下:
全局url的配置
url(r'^payment/',include('test1.urls')),請求url為localhost:8000/payment時,交給test1下面的urls。
test1中url的配置
url(r'^&',views.db_handle),即請求的url為localhost:8000/payment時,交給db_handle函數處理。
3、傳遞額外參數
全局url指定子url時,可以傳遞一個參數。并且該參數在子url指定的函數中必須接收。如下:
全局url配置
url(r'^test1/',include('test1.urls'),{'name':'ahai'}),參數{'name':'ahaii'}會隨著子url(test1.urls)傳遞給對應的函數,該函數必須設置一個形參來接收該值。該用法可用在當用戶登陸主站后,訪問子站時,將用戶信息傳遞給子站,用戶無須再登陸。該值一般都是動態值傳遞。
轉載于:https://www.cnblogs.com/ahaii/p/5710458.html
總結
以上是生活随笔為你收集整理的Django中url匹配规则的补充的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最大生成子序列
- 下一篇: jQuery 遍历 - closest(