Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

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

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

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

使用 Django 設置網站路徑:新手入門指南

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

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

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

Django 是一個功能強大的 Web 框架,能幫助開發者快速構建網站。

在 Django 中,網站路徑(URL 路由)的設置是核心部分之一。

本指南將介紹如何使用 Django 設置網站路徑,並提供逐步說明,幫助新手了解其中的基本概念與操作。


什麼是 URL 路徑管理?

在 Django 中,路徑管理的功能由 urls.py 文件負責。

這是一個專門用來處理網站路徑的模組。

當用戶訪問網站時,Django 根據 urls.py 中的設置,將請求導向相應的處理函數。

Django 路徑管理的基礎代碼

以下是一個簡單的例子:

from django.contrib import admin
from django.urls import path
from django.http import HttpResponse

def about(request):
    return HttpResponse("hello world")

urlpatterns = [
    path('admin/', admin.site.urls),
    path('about', about),
]

代碼解釋:

  1. from django.contrib import admin
    • 匯入 Django 自帶的管理後台系統(Admin Site),方便管理網站的數據。
  2. from django.urls import path
    • 匯入 Django 提供的 path 函數,用來設定 URL 路由。
  3. def about(request):
    • 定義了一個處理函數 about,當用戶訪問 /about 路徑時,會返回一個簡單的 “hello world” 響應。
  4. urlpatterns
    • 定義了 URL 與處理函數的對應關係,是一個路徑比對表。

補充:Django 與 Flask 的差異

與 Flask 不同,Django 使用路徑比對表(urlpatterns)來管理路由,而不是使用裝飾器。

這種方式讓代碼結構更加清晰,特別是在處理多個路徑時。


添加更多路徑

我們可以繼續擴展 urls.py,新增其他路徑。

例如,添加一個 home 路徑:

from django.contrib import admin
from django.urls import path
from django.http import HttpResponse

def about(request):
    return HttpResponse("hello world")

def home(request):
    return HttpResponse("home!")

urlpatterns = [
    path("admin/", admin.site.urls),
    path("about/", about),
    path("", home),  # 空字符串表示根目錄
]

提示:

  • 區分 /about 與 /about/
    • 在 Django 中,是否帶有 / 是完全不同的路徑。
    • 記得正確設置,避免出現路徑匹配錯誤。

模組化管理 URL

隨著網站規模擴大,路徑的數量可能會增多。

為了方便管理,我們可以將路徑相關的代碼,移動到單獨的模組。

例如,建立一個 pages 資料夾,並在其中創建一個 views.py 文件,存放處理函數。

調整後的結構

以下是重構後的項目目錄結構示意圖:

project_name/
│
├── manage.py
├── project_name/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py
│
├── pages/
│   ├── __init__.py
│   ├── views.py
│   └── __pycache__/  # Python 自動生成的快取文件夾

pages/views.py 的代碼

from django.http import HttpResponse

def about(request):
    return HttpResponse("hello world")

def home(request):
    return HttpResponse("home!")

更新 urls.py

在主項目的 urls.py 中,匯入 views.py 中的處理函數:

from django.contrib import admin
from django.urls import path
from pages.views import about, home

urlpatterns = [
    path("admin/", admin.site.urls),
    path("about/", about),
    path("", home),
]

這種結構化方式不僅能讓代碼更加清晰,也方便多人協作開發。


小結

Django 的路徑設置系統是其框架的重要組成部分。

通過以下步驟可以輕鬆完成基本的 URL 路徑管理:

  1. 使用 urls.py 配置路徑。
  2. 定義處理函數返回對應的響應內容。
  3. 隨著項目複雜度提高,將代碼模組化,提升可維護性。

對新手而言,掌握這些基礎操作是進一步開發 Django 項目的關鍵!

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

發表留言

留言將在審核後顯示。

Python

目錄

  • 什麼是 URL 路徑管理?
  • Django 路徑管理的基礎代碼
  • 添加更多路徑
  • 模組化管理 URL
  • 調整後的結構
  • pages/views.py 的代碼
  • 更新 urls.py
  • 小結