Django从理论到实战(part13)--include函数
生活随笔
收集整理的這篇文章主要介紹了
Django从理论到实战(part13)--include函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考
參考自:Django打造大型企業官網;
本系列Blog以應用為主,理論基礎部分我在后端專欄的Django系列博客已經寫過了,如果有些需要補充的知識點,我會在這個系列中,盡量詳細的寫一下。
include函數
在我們的項目變大以后,通常不會把所有的url匹配規則都放在項目的主urls.py文件中,而是在每個app中定義自己的urls.py文件,這個文件中存儲的都是這個app的所有url匹配規則。之后,我們需要將所有 app 的urls.py文件統一注冊到項目的主urls.py文件中。
include函數有多種用法,這里講下兩種常用的用法.
第1種用法
include(module, namespace = None) #module:子url模塊的字符串 #namespace:實例命名空間
示例代碼:
from django.contrib import adminfrom django.urls import path,includeurlpatterns = [path('admin/', admin.site.urls),path('book/',include("book.urls", namespace = "book1"))]- 注意事項
我們可以傳遞namespace參數來指定一個實例命名空間,但是在使用實例命名空間之前,必須先指定一個應用命名空間,例如:
# 主urls.py文件: from django.urls import path,include urlpatterns = [path('movie/',include('movie.urls',namespace='movie1')) ]在movie/urls.py中指定應用命名空間:
from django.urls import path from . import views# 應用命名空間 app_name = 'movie'urlpatterns = [path('',views.movie,name='index'),path('list/',views.movie_list,name='list'), ]第2種用法(指定應用命名空間)
include((pattern,app_namespace), namespace=None) #pattern:子url模塊的字符串 #app_namespace:應用命名空間 #namespace:實例命名空間 #例子 path('movie/',include('movie.urls', app_namespace='movie'), namespace = "movie1")
第3種用法
include(pattern_list) #pattern_list:一個列表或者一個元組,表示子url的一個匹配
例子:
from django.contrib import admin from django.urls import path,include from movie import viewsurlpatterns = [path('admin/', admin.site.urls),path('movie/',include([path('',views.movie),path('list/',views.movie_list),])) ]總結
以上是生活随笔為你收集整理的Django从理论到实战(part13)--include函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 索尼PS5主机光驱版国内跌破3千!史低价
- 下一篇: Django从理论到实战(part14)