命名空間(英語:namespace)是表示識別符號的可見範圍。乙個識別符號可在多個命名空間中定義,它在不同命名空間中的含義是互不相干的。這樣,在乙個新的命名空間中可定義任何識別符號,它們不會與任何已有的識別符號發生衝突,因為已有的定義都處於其它命名空間中。
由於name沒有作用域,django在反解url時,會在專案全域性順序搜尋,當查詢到第乙個name指定url時,立即返回
全域性urls.py
from django.contrib importadmin
from django.urls import
path, re_path, include
views
urlpatterns =[
path(
'admin/
', admin.site.urls),
#分發re_path(r"
解決方法:
在include 分發時候改成元祖形式 加上別名 namespace
url 加上別名 如下下面**
from django.contrib importadmin
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 非常冗餘不好維護 這個時候也可以利用路由分發來減輕總路由的壓力 具體使用引子 利用路由分發之後,總路由不再做路由與檢視函式的直接對應...