django 路由系統

2022-08-19 02:21:10 字數 1796 閱讀 6245

2.0版本寫法

from django.urls import path

urlpatterns = [

path('articles/2003/', views.special_case_2003),

path('articles//', views.year_archive),

path('articles///', views.month_archive),

path('articles////', views.article_detail),

]

from django.conf.urls import url

from . import views

urlpatterns = [

url(r'^articles/2003/$', views.special_case_2003),

url(r'^articles/([0-9])/$', views.year_archive),

url(r'^articles/([0-9])/([0-9])/$', views.month_archive),

url(r'^articles/([0-9])/([0-9])/([0-9]+)/$', views.article_detail),

]1.urlpatterns按順序往下匹配,成功匹配不在往下繼續

2.若要從url中捕獲乙個值,只需要在它周圍放置一對圓括號(分組匹配)。

2.urls.py(路由系統)

1.正則匹配的模式

1.分組匹配 能夠在呼叫檢視函式的時候能夠傳遞位置引數

urlpatterns = [

url(r'^articles/2003/$', views.special_case_2003),

url(r'^articles/([0-9])/$', views.year_archive),

會傳給檢視函式乙個4位數字的位置引數

2.分組命名匹配,能夠在呼叫檢視函式的時候能夠傳遞關鍵字引數

urlpatterns = [

url(r'^articles/2003/$', views.special_case_2003),

url匹配規則的別名

1.起別名是為了增加**的健壯性

2 用法

1)在views.py中如何根據別名找到url

from django.urls import reverse

url=reverse('別名')

2)在模板語言中如何根據別名找到url

3。帶引數的url如何反向生成?

1.位置引數

1)在views.py中:

reverse('別名',args=(引數1,引數2,。。。))

2)在模板語言中:

2.關鍵字引數

1).在views.py中:

reverse('別名',kwargs=)

2)在模板語言中:

4 namespace(命名空間)

1. 位置引數

1. 在views.py中:

reverse("命名空間:別名", args=(引數1, 引數2, ...))

2. 在模板語言中:

2. 關鍵字引數

1. 在views.py中:

reverse("命名空間:別名", kwargs=)

2. 在模板語言中:

目的就是獲得唯一的url

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檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 引數 可選的,要傳遞給檢...