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

更新日期: 2024 年 12 月 1 日

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 項目的關鍵!

Similar Posts