跳轉至

建立 2026-09-17 更新 2026-09-17

表單與驗證

網站幾乎都需要接收使用者輸入:登入、註冊、留言、搜尋……等。Django 提供一套表單框架,統一處理資料驗證錯誤訊息HTML 產生,避免每個表單都要重新手刻驗證邏輯。這個分類介紹兩種常見寫法:直接處理 HTML <form>、以及用 Django Forms/ModelForm 簡化流程。

本分類內容

  1. Django Forms:用 forms.Form 定義表單欄位與驗證規則。
  2. ModelForm:直接依 Model 欄位自動產生表單,減少重複定義。

為什麼不直接用 HTML <form> 就好?

原生 HTML 表單只負責畫面,資料送到後端後,驗證、型別轉換、錯誤訊息全部要自己寫。Django Forms 把這些邏輯統一封裝:定義一次欄位規則,就能同時取得伺服器端驗證自動產生表單 HTML、以及逐欄位的錯誤訊息,也内建 CSRF(跨站請求偽造)防護機制,安全性比手刻表單更有保障。