路由分發時命名空間的2種寫法

2022-04-29 02:27:07 字數 1264 閱讀 2426

主路由的寫法:

from django.contrib import

admin

from django.urls import

path,re_path,include

urlpatterns =[

path(

'admin/

're_path('

^book/

', include('

book.urls

',namespace='book')),]

很明顯:路由分發在了book應用下的urls.py檔案中。

from django.urls import

path,re_path

from book import

views

= '

book

'urlpatterns=[

re_path(

'^books/

',views.bookview.as_view() ),

]

如果第乙個引數是乙個元組,根據原始碼可知:

from django.contrib import

admin

from django.urls import

path,re_path,include

urlpatterns =[

path(

'admin/

', admin.site.urls),

# 元組傳參的寫法re_path('

^book/

', include(('

book.urls

','book

'))),]

此時,在分發的urls.py檔案中直接寫urlpatterns就好了:

from django.urls import

path,re_path

from book import

views

urlpatterns =[

re_path(

'^books/

',views.bookview.as_view() ),

]

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 非常冗餘不好維護 這個時候也可以利用路由分發來減輕總路由的壓力 具體使用引子 利用路由分發之後,總路由不再做路由與檢視函式的直接對應...

struts2根命名空間和預設命名空間的區別

如果未指定命名空間,則命名空間預設為 namespace 預設命名空間裡的action可以處理任何命名空間下的action請求。例如,如果存在url為 barspace bar.action的請求,並且 barspace的命名空間下沒有名為bar的action,則預設命名空間下名為bar的actio...