urlconf
url配置(urlconf)就像django 所支撐**的目錄。它的本質是url與要為該url呼叫的view函式之間的對映表;你就是以這種方式告訴django,對於這個url呼叫這段**,對於那個url呼叫那段**。
'''urlpatterns = [
url(正規表示式, views檢視函式,引數,別名),
re_path(正規表示式, views檢視函式,引數,別名),(在2.0以上版本中使用re_path)
]引數說明:
正規表示式(regex):
效能注釋:正規表示式會進行預先編譯當urlconf模組載入的時候,因此它的匹配搜尋速度非常快,你通常感覺不到。
view試圖函式:
當正規表示式匹配到某個條目時,自動將封裝的httprequest物件作為第乙個引數,正規表示式「捕獲」到的值作為第二個引數,傳遞給該條目指定的檢視。如果是簡單捕獲,那麼捕獲值將作為乙個位置引數進行傳遞,如果是命名捕獲,那麼將作為關鍵字引數進行傳遞。
引數(kwargs):
任意數量的關鍵字引數可以作為乙個字典傳遞給目標檢視。
別名(name):
對你的url進行命名,可以讓你能夠在django的任意處,尤其是模板內顯式地引用它。相當於給url取了個全域性變數名,你只需要修改這個全域性變數的值,在整個django中引用它的地方也將同樣獲得改變。這是極為古老、樸素和有用的設計思想,而且這種思想無處不在。
單一路由對應
1 re_path(r'使用者訪問 然後後端使用view中index()函式處理^index/$
', views.index),
基於正則的路由對應
1 urlpatterns =[^host/(\d+)$2 re_path(r'
^host/(\d+)$
', views.host),
3 re_path(r'
^host_list/(\d+)/(\d+)$
', views.host_list),
4 ]
相對應的url是: 」 (\d+)是匹配任意的數字,在分頁時靈活運用。
在views.host中需要指定乙個形式引數來接受(\d+)\$ 的值
\^host_list/(\d+)/(\d+)$
相對應的url是: 」匹配到的數字會以引數的形式按照順序傳遞給views裡面相對應的函式
在views.host_list中需要指定兩個形式引數,注意:此引數的順序嚴格按照url中匹配的順序
有名分組
1 urlpatterns =[?p\d+)2 re_path(r'
^user_list/(?p\d+)/(?p\d+)$
',views.user_list),
3 ]
正規表示式的分組,相當於乙個字典, key=v1, value=\d+。
然後將此引數傳遞到views裡對應的函式,可以不按照順序
引數v1 = (?p\d+)
引數v2 = (?p\d+)
1 urlpatterns =[23 re_path(r'
', include('
')),
4 re_path(r'
', include('
')),
56 ]
1 urlpatterns =[為路由對映設定名稱23 re_path(r'
index/$
', views.index),
45 ]
1 url(r'設定名稱之後,可以在不同的地方呼叫,如:^home
', views.home, name='h1'
),2 url(r'
^index/(\d*)
', views.index, name='
h2'),
Django路由系統
urlpatterns path 要匹配的路徑 可以是正規表示式 檢視函式,引數,別名 1 正規表示式 乙個正規表示式字串 2 檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 3 引數 要傳遞給檢視函式的預設引數 字典形式,可選 4 別名 乙個可選的name引數 1 在py...
Django路由系統
普通的url 函式 有傳遞引數的url django2以上版本,使用正規則要用re path,之前的版本使用url re path add w add 一樣功能 path add add re path r add2 p w p d add path add2 add2 路由分發 使用include...
Django路由系統
基本格式 from django.conf.urls import urlurlpatterns url 正規表示式,views檢視函式,引數,別名 引數說明 正規表示式 乙個正規表示式字串 views檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 引數 可選的,要傳遞給檢...