urls模塊- include函數的用法

urls模塊化:

若是項目變得愈來愈大。那麼url會變得愈來愈多。若是都放在主urls.py文件中,那麼將不太好管理。所以咱們能夠將每一個app本身的urls放到本身的app中進行管理。通常咱們會在app中新建一個urls.py文件用來存儲全部和這個app相關的子url。
須要注意的地方:python

  1. 應該使用include函數包含子urls.py,而且這個urls.py的路徑是相對於項目的路徑。示例代碼以下:
    python urlpatterns = [ path('admin/', admin.site.urls), path('book',include('book.urls')) ]
  2. appurls.py中,全部的url匹配也要放在一個叫作urlpatterns的變量中,不然找不到。
  3. url是會根據主urls.py和app中的urls.py進行拼接的,所以注意不要多加斜槓。

include函數的用法:

  1. include(module,namespace=None):
    • module:子url的模塊字符串。
    • namespace:實例命名空間。這個地方須要注意一點。若是指定實例命名空間,那麼前提必需要先指定應用命名空間。也就是在子urls.py中添加app_name變量。
  2. include((pattern_list, app_namespace), namespace=None):include函數的第一個參數既能夠爲一個字符串,也能夠爲一個元組,若是是元組,那麼元組的第一個參數是子urls.py模塊的字符串,元組的第二個參數是應用命名空間。也就是說,應用命名空間既能夠在子urls.py中經過app_name指定,也能夠在include函數中指定。
  3. include(pattern_list):pattern_list是一個列表。這個列表中裝的是path或者re_path函數。實例代碼以下:
    pyhon path('movie/',include([ path('',views.movie), path('list/',views.movie_list), ]))
相關文章
相關標籤/搜索