表單與驗證
網站幾乎都需要接收使用者輸入:登入、註冊、留言、搜尋……等。Django 提供一套表單框架,統一處理資料驗證、錯誤訊息與HTML 產生,避免每個表單都要重新手刻驗證邏輯。這個分類介紹兩種常見寫法:直接處理 HTML <form>、以及用 Django Forms/ModelForm 簡化流程。
本分類內容
- Django Forms:用
forms.Form定義表單欄位與驗證規則。 - ModelForm:直接依 Model 欄位自動產生表單,減少重複定義。
為什麼不直接用 HTML <form> 就好?
原生 HTML 表單只負責畫面,資料送到後端後,驗證、型別轉換、錯誤訊息全部要自己寫。Django Forms 把這些邏輯統一封裝:定義一次欄位規則,就能同時取得伺服器端驗證、自動產生表單 HTML、以及逐欄位的錯誤訊息,也内建 CSRF(跨站請求偽造)防護機制,安全性比手刻表單更有保障。