1. 正規表示式的模糊匹配
2. 分組匹配 --> 相當於給檢視函式傳遞位置引數
3. 分組命名匹配 --> 相當於給檢視函式傳遞關鍵字引數
(兩個不要混合使用)
位置傳參
路由url(r'^book1/([0-9])/([a-za-z])/$', views.book1),
接收# 位置引數
def book1(request, arg1, arg2):
print("arg1:", arg1)
print("arg2:", arg2)
return httpresponse("傳參成功~")
關鍵字傳參
路由url(r'^book2/(?p[0-9])/(?p[a-za-z])/$', views.book2),
接收# 關鍵字引數
def book2(request, year, title):
print("year:", year, type(year))
print("title:", title)
return httpresponse("傳參成功~")
別名和命名空間
模板使用
命名空間:別名張:點我
路由
優先找命名空間,再找別名,命名空間
別名url(r'^home1/', views.home, , name="home"),
檢視中使用
路由
路由別名# url(r'^book/([0-9])/([a-za-z])/$', views.book, name="book"),
# 關鍵字引數
url(r'^book/(?p[0-9])/(?p[a-za-z])/$', views.book, name="book")
檢視
def home(request, age):print(age)
# 傳位置引數
# redirect_url = reverse("car:book", args=(2018, "sb"))
from django.urls import reverse
# 傳關鍵字引數
redirect_url = reverse("car:book", kwargs=)
print(redirect_url)
# return redirect(redirect_url)
return render(request, "test/home.html")
預設路由補充/配置
# 缺省會在url後面加上 '/',然後再去urls.py裡面匹配對應關係
2. 路由系統(urls.py)1. 正規表示式的模糊匹配
2. 分組匹配 -->相當於給檢視函式傳遞位置引數
3. 分組命名匹配 -->相當於給檢視函式傳遞關鍵字引數
(兩個不要混合使用)
---------------------------- 這裡是坎 ------------------------------------
4. 反向解析url
本質上就是給url匹配模式起別名,然後用過別名拿到具體的url路徑
1. 怎麼起別名?
在url匹配模式中,定義name="別名"
2. 如何使用?
1. 在模板語言裡面使用:
-->得到具體的url路徑
2. 在檢視中如何使用:
from django.urls import
reverse
reverse("別名
") -->得到具體的url路徑
3. 如何傳引數?
1. 模板語言中:
2. 檢視函式中
傳位置引數:
reverse("別名
", args=(2018, "nb"
))
傳關鍵字引數:
reverse("別名
" kwargs=)
4. namespace
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檢視函式 乙個可呼叫物件,通常為乙個檢視函式或乙個指定檢視函式路徑的字串 引數 可選的,要傳遞給檢...