Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

網站會不定期發佈技術筆記、職場心得相關的內容,歡迎關注本站!

網站
首頁關於我部落格
部落格
分類系列文

© 新人日誌. All rights reserved. 2020-present.

使用 Django 的路由模組化管理:入門指南

最後更新:2024年12月1日Python

本文為 Django 新手教學,第 3 篇:

  1. 如何快速開啟 Django 開發環境:新手指南
  2. 使用 Django 設置網站路徑:新手入門指南
  3. 使用 Django 的路由模組化管理:入門指南 👈所在位置
  4. 在 Django 中使用網頁樣板:入門指南
  5. 使用 Django 樣板繼承實現頁面佈局共享
  6. Django 的 MTV 架構與 startapp 指令全面解析
  7. 深入理解 Django 的 INSTALLED_APPS 與應用設置
  8. 使用 Django startapp 建立 Resumes 應用:完整指南

隨著 Django 項目的擴展,路由(URL 路徑)的數量會逐漸增多。

如果每個路徑都集中定義在一個文件中,不僅會讓代碼變得冗長難讀,也會增加維護的難度。

為了解決這個問題,我們可以使用 Django 提供的 include 函數,將路由配置模組化。

這篇文章將介紹如何實現模組化路由管理。


為什麼需要模組化管理?

在項目初期,將所有的路徑集中寫在主應用的 urls.py 文件中尚可行。

然而,隨著功能增多,這種方式會導致代碼量過多,文件變得難以維護。

為了保持代碼結構清晰,我們應該將子應用的路由單獨管理,並通過主應用的路由統一引入。


使用 include 函數模組化路由

Django 的 include 函數,允許我們將子應用的路由,配置納入主應用的路由中,實現分層管理。

下面是具體操作步驟。


專案目錄結構

以下是模組化路由後的目錄結構:

mysite/
│
├── manage.py
├── mysite/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py           # 主應用的路由配置
│   ├── wsgi.py
│
├── pages/
│   ├── __init__.py
│   ├── views.py          # 定義視圖函數
│   ├── urls.py           # 子應用的路由配置
│   └── __pycache__/

為子應用添加 urls.py

在子應用 pages 資料夾中,新增一個 urls.py 文件,用於管理該應用的路由:

from django.urls import path
from .views import about, home

urlpatterns = [
    path("about/", about),  # 關於頁面
    path("", home),         # 首頁
]

在這裡,我們定義了兩個路徑:

  • /about/ 對應到 about 處理函數。
  • / 對應到 home 處理函數。

修改主應用的 urls.py

在主應用 mysite 的 urls.py 中,使用 include 函數引入子應用的路由配置:

from django.contrib import admin
from django.urls import path, include  # 匯入 include 函數

urlpatterns = [
    path("admin/", admin.site.urls),      # Django 管理後台
    path("", include("pages.urls")),     # 引入 pages 應用的路由配置
]

主應用與子應用路由的區別

  • 主應用的 urls.py:主應用的 urls.py 是項目的入口路由配置。

    它負責將請求分發到不同子應用的路由中,並對全局路徑進行管理。
  • 子應用的 urls.py:子應用的 urls.py 僅管理與該應用相關的路徑。

    例如,pages 應用只需要關注其內部的 /about/ 和 / 路徑。這樣的分工有助於保持代碼的簡潔和結構化。

優化代碼的好處

提升代碼可讀性

將不同功能模組的路由獨立管理,能讓文件結構更加清晰,方便開發者快速定位和修改。

支持團隊協作

模組化的路由管理允許不同的開發者負責各自的應用路由,減少衝突。

便於路由擴展

新增功能時,只需在子應用中修改 urls.py,主應用的路由邏輯保持不變。


小結

使用 Django 的 include 函數進行路由模組化管理,是開發大型項目的基礎技能。

具體步驟包括:

  1. 在子應用中建立單獨的 urls.py 文件。
  2. 使用主應用的 urls.py 將子應用的路由包含進來。

這種方式能讓你的代碼更簡潔、結構更清晰,無論是小型還是大型項目,都能大幅提升開發效率!

目前還沒有留言,成為第一個留言的人吧!

發表留言

留言將在審核後顯示。

Python

目錄

  • 為什麼需要模組化管理?
  • 使用 include 函數模組化路由
  • 專案目錄結構
  • 為子應用添加 urls.py
  • 修改主應用的 urls.py
  • 主應用與子應用路由的區別
  • 優化代碼的好處
  • 提升代碼可讀性
  • 支持團隊協作
  • 便於路由擴展
  • 小結