Django 路由系統

2022-08-22 10:15:13 字數 2815 閱讀 7967

目錄之前通過django寫了乙個簡單地學生管理系統,將所有的業務邏輯都寫在了urls.py檔案中,這樣雖然使得邏輯簡單明瞭,但是存在諸多問題

業務邏輯混亂,不同子專案都放在了一起

當介面變得很多時,會使得urls.py檔案很亂

違反了高內聚低耦合的原則

第二步:settings配置

# fbv方式

# cbv方式

django中的路由分發本質就是正規表示式匹配

# urls.py

urlpatterns = [

# 匹配以get_classes/開頭

url(r'^get_classes/', views.get_classes),

# 匹配以get_classes/開頭,get_classes/結尾

url(r'^get_classes/$', views.get_classes),

# 獲取括號裡面的值,比如test/abc/qwe123/這個url,會獲取到abc、qwe123這兩個值

url(r'^test/(\w+)/(\w+)/', views.test),

# 也是獲取括號裡面的值,但此時獲取的值會帶上名字,如id-->abc,name-->qwe123

return httpresponse('test1')

注意:

在使用django 專案時,乙個常見的需求是獲得url 的最終形式,以用於嵌入到生成的內容中(檢視中和顯示給使用者的url等)或者用於處理伺服器端的導航(重定向等)。人們強烈希望不要硬編碼這些url(費力、不可擴充套件且容易產生錯誤)或者設計一種與urlconf 毫不相關的專門的url 生成機制,因為這樣容易導致一定程度上產生過期的url。

此時我們就需要給url起乙個別名

# urls.py

urlpatterns = [

url(r'^get_classes/', views.get_classes, name = 'class'),

]

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