使用 Django 設置網站路徑:新手入門指南
更新日期: 2024 年 12 月 1 日
本文為 Django 新手教學,第 2 篇:
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),
]
代碼解釋:
from django.contrib import admin
- 匯入 Django 自帶的管理後台系統(Admin Site),方便管理網站的數據。
from django.urls import path
- 匯入 Django 提供的
path
函數,用來設定 URL 路由。
- 匯入 Django 提供的
def about(request):
- 定義了一個處理函數
about
,當用戶訪問/about
路徑時,會返回一個簡單的 “hello world” 響應。
- 定義了一個處理函數
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 中,是否帶有
/
是完全不同的路徑。 - 記得正確設置,避免出現路徑匹配錯誤。
- 在 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 路徑管理:
- 使用
urls.py
配置路徑。 - 定義處理函數返回對應的響應內容。
- 隨著項目複雜度提高,將代碼模組化,提升可維護性。
對新手而言,掌握這些基礎操作是進一步開發 Django 項目的關鍵!