如何在 Django 專案中新增驗證?
驗證是計算機自動檢查以確保輸入資料合理且有意義的過程。它不判斷輸入資料是否準確。我們許多人都熟悉電子郵件或電話驗證,這通常是大多數網站的一部分。當我們以錯誤的格式輸入電子郵件地址或輸入的電話號碼不包含 10 位數字時,通常會顯示警告提示,要求以可接受的格式輸入資料。這就是驗證。大多數開發者會在他們的專案中新增驗證,以確保他們以期望的格式接收來自使用者的資料。
Django 中的驗證
Django 專案中的驗證可以在表單和欄位上進行。表單驗證發生在資料清理時。如果您想自定義此過程,則需要更改多個區域。通常,這些地方中的每一個都具有不同的用途。
驗證在資料清理時進行。在表單處理過程中,Django 中的清理有三種方式。通常,這些會在對錶單上的 is_valid() 方法呼叫後執行。其他一些操作也可以觸發清理和驗證,例如呼叫 full_clean() 方法。
驗證由驗證器執行;這些是可以重複使用的輔助工具。驗證器是接受單個引數並在無效輸入時引發 ValidationError 的函式。在呼叫欄位的 to_python 和 validate 方法後,將執行驗證器。
在 Django 中驗證表單的過程分為幾個步驟。這些步驟如下所示。
欄位上的 **to_python** 方法是每個驗證的第一步。它確保輸入的資料屬於正確的型別,否則會引發 **ValidationError**。此方法接受使用者輸入的資料,將其轉換為 Python 等效的資料型別,或者如果無法轉換則引發錯誤。
**例如:**如果在此欄位中輸入的資料無法轉換為 Python 浮點數,則 **FloatField** 將引發 **ValidationError**。
**validate()** 方法處理欄位上不適合驗證器的特定驗證。它只處理特定於欄位的錯誤。它接受使用者提供的值,將其轉換為正確的資料型別,並在出現任何異常行為時引發 ValidationError。
**run_validators()** 方法執行應用於特定欄位的所有驗證器,並將所有生成的錯誤合併到單個 ValidationError 中。
如前所述,驗證器在資料清理時執行。因此,clean() 方法確保在需要時以正確的順序執行 **to_python()、validate()** 和 **run_validators()**,並在需要時引發錯誤。
例如,要驗證名為 idnumber 的 CharField 的內容(該欄位唯一標識一行),clean_idnumber() 將是指定清理過程的方法。此方法的返回值將替換清理資料的現有值。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP