django 路由控制之命名空間

2022-07-08 01:15:09 字數 2659 閱讀 8303

命名空間(英語:namespace)是表示識別符號的可見範圍。乙個識別符號可在多個命名空間中定義,它在不同命名空間中的含義是互不相干的。這樣,在乙個新的命名空間中可定義任何識別符號,它們不會與任何已有的識別符號發生衝突,因為已有的定義都處於其它命名空間中。

由於name沒有作用域,django在反解url時,會在專案全域性順序搜尋,當查詢到第乙個name指定url時,立即返回

全域性urls.py

from django.contrib import

admin

from django.urls import

path, re_path, include

views

urlpatterns =[

path(

'admin/

', admin.site.urls),

#分發re_path(r"

解決方法: 

在include 分發時候改成元祖形式 加上別名 namespace

url 加上別名 如下下面**

from django.contrib import

admin

from django.urls import

path, re_path, include

views

urlpatterns =[

path(

'admin/

', admin.site.urls),

#分發re_path(r"

Django之命名空間(namespace)

命名空間 namespace 用來表示識別符號的作用範圍 乙個識別符號可以在多個命名空間中定義,它在不同命名空間中的含義是互不相干的。這樣,在乙個新的命名空間中可定義任何識別符號,它們不會與任何已有的識別符號發生衝突。5 啟動django,瀏覽器訪問url結果。顯然,這並不是我們想要的結果。原因 由...

Django的路由分發與命名空間

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

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

django每乙個應用都可以擁有自己的templates資料夾 urls.py static資料夾 當乙個django專案中的url特別多的時候,總路由urls.py 非常冗餘不好維護 這個時候也可以利用路由分發來減輕總路由的壓力 具體使用引子 利用路由分發之後,總路由不再做路由與檢視函式的直接對應...