Django 的表單處理:視圖獲取請求,執行所需的任何操作,包括從模型中讀取資料,然后生成并回傳HTML頁面(從模板中),我們傳遞一個包含要顯示的資料的背景關系,使事情變得更復雜的是,服務器還需要能夠處理用戶提供的資料,并在出現任何錯誤時,重新顯示頁面,
下面顯示了 Django 如何處理表單請求的流程圖,從對包含表單的頁面的請求開始(以綠色顯示):

基于上圖,Django 表單處理的主要內容是:
-
在用戶第一次請求時,顯示默認表單,
- 表單可能包含空白欄位(例如,如果您正在創建新記錄),或者可能預先填充了初始值(例如,如果您要更改記錄,或者具有有用的默認初始值),
- 此時表單被稱為未系結,因為它與任何用戶輸入的資料無關(盡管它可能具有初始值),
-
從提交請求接收資料,并將其系結到表單,
- 將資料系結到表單,意味著當我們需要重新顯示表單時,用戶輸入的資料和任何錯誤都可取用,
-
清理并驗證資料,
- 清理資料會對輸入執行清理(例如,洗掉可能用于向服務器發送惡意內容的無效字符)并將其轉換為一致的 Python 型別,
- 驗證檢查值是否適合該欄位(例如,在正確的日期范圍內,不是太短或太長等)
-
如果任何資料無效,請重新顯示表單,這次使用任何用戶填充的值,和問題欄位的錯誤訊息,
-
如果所有資料都有效,請執行必要的操作(例如保存資料,發送表單和發送電子郵件,回傳搜索結果,上傳檔案等)
-
完成所有操作后,將用戶重定向到另一個頁面,
本文首發于BigYoung小站
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/157184.html
標籤:Python
