Django 路由系統 URLconf

2022-07-18 04:21:14 字數 2343 閱讀 2260

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'

^index/$

', views.index),

使用者訪問 然後後端使用view中index()函式處理

基於正則的路由對應

1 urlpatterns =[

2 re_path(r'

^host/(\d+)$

', views.host),

3 re_path(r'

^host_list/(\d+)/(\d+)$

', views.host_list),

4 ]

^host/(\d+)$

相對應的url是: 」 (\d+)是匹配任意的數字,在分頁時靈活運用。

在views.host中需要指定乙個形式引數來接受(\d+)\$ 的值

\^host_list/(\d+)/(\d+)$

相對應的url是: 」匹配到的數字會以引數的形式按照順序傳遞給views裡面相對應的函式

在views.host_list中需要指定兩個形式引數,注意:此引數的順序嚴格按照url中匹配的順序

有名分組

1 urlpatterns =[ 

2 re_path(r'

^user_list/(?p\d+)/(?p\d+)$

',views.user_list),

3 ]

?p\d+)

正規表示式的分組,相當於乙個字典, 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檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 引數 可選的,要傳遞給檢...