Django路由分發與命名空間的概念

2022-09-28 22:57:25 字數 2079 閱讀 1545

django每乙個應用都可以擁有自己的templates資料夾 urls.py static資料夾

當乙個django專案中的url特別多的時候,總路由urls.py**非常冗餘不好維護

這個時候也可以利用路由分發來減輕總路由的壓力

具體使用引子:

利用路由分發之後,總路由不再做路由與檢視函式的直接對應關係,而是做乙個分發處理

識別當前url是屬於那個應用下的,直接分發給對應的應用去處理。

#  在建立應用時:需要自己手動給應用建立urls.py檔案
總路由:

from django.conf.urls import url,include

from django.contrib import admin

urlpatterns = [

url(r'^admin/', admin.site.urls),

# 路由分發方式一(必須匯入子路由):

# 終極寫法(無需匯入模組):

]# 終極寫法無需匯入子路由過來,也無需給子路由起別名,減少**編寫提公升效率。

引子:

# 研究:當多個應用反向解析時出現了相同的路由別名 我們研究反向解析會不會自動識別對應的應用字首
# 總路由 urls.py

urlpatterns = [

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

]urlpatterns = [

url(r'reg/',views.reg,name='reg') # 使用相同的別名

# 我們可以看到:正常情況下的反向解析是沒有辦法自動識別字首的
使用命名空間解決:

# 總路由

# 解析的時候

urlpatterns = [

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

] urlpatterns = [

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

]# 後端解析

# 前端解析:
補充:

# 其實只要保證名字不衝突 就沒有必要使用命名空間

""""""

urlpatterns = [

]urlpatterns = [

]

Django的路由分發與命名空間

路由分發 專案名下urls.py 總路由 不再做路由與檢視函式的匹配關係而是做路由的分發 from django.conf.urls import include 路由分發 注意路由分發總路由千萬不要 結尾 url r url r 在應用下新建urls.py檔案,在該檔案內寫路由與檢視函式的對應關係...

Django 路由分發

django 路由分發 當乙個url請求過來之後 1 先到專案主目錄下的urls內。一級路由 主目錄urls內引入include from django.conf.urls import url,include urlpatterns url r cmdb include url r monitor...

Django路由分發

1.路由匹配,urls.py中 url r testadd views.testadd 匹配規則 從上到下只要正規表示式匹配成功,就不會往下匹配了 get請求的傳參方式?無名分組 url r test d views.test 會把括號中匹配的數字當成位置引數傳給檢視函式 有名分組 url r te...