django學習 Form表單

2021-10-16 17:30:06 字數 1096 閱讀 4958

在驗證某個欄位的時候,可以傳遞乙個validators引數用來指定驗證器,對資料進行進一步的過濾。驗證器有很多,但是很多驗證器我們其實已經通過這個field或者一些引數就可以指定了。比如emailvalidator,我們可以通過emailfield來指定,比如maxvaluevalidator,我們可以通過max_value引數來指定。如果還需要更加複雜的驗證,我們可以通過正規表示式的驗證器regexvalidator

maxvaluevalidator:驗證最大值。

minvaluevalidator:驗證最小值。

minlengthvalidator:驗證最小長度。

maxlengthvalidator:驗證最大長度。

emailvalidator:驗證是否是郵箱格式。

urlvalidator:驗證是否是url格式。

regexvalidator:表示式的驗證器。

如果某個驗證失敗了,我們需要給前端傳送一些錯誤,這時候我們可以通過以下屬性來獲取:

上述方法獲取的字段的錯誤資訊,都是乙個比較複雜的資料。比如以下:

]}

如果想把錯誤資訊放在乙個列表中,而不要放在乙個字典中。這時候我們可以定義乙個方法,把得到的錯誤資料整理一下。

def

get_errors

(self)

: errors = self.errors.get_json_data(

) new_errors =

for key,message_dicts in errors.items():

messages =

for message in message_dicts:

'message'])

new_errors[key]

= messages

return new_errors

結果顯示為

模擬乙個註冊流程

Django學習筆記之form表單

表單是通過類實現的,繼承自forms.form,然後在裡面定義要驗證的字段.在表單中,建立欄位跟模型是一模一樣的,但是沒有null true或者blank true等這幾種引數了,有的引數是required true false.使用is valid 方法可以驗證使用者提交的資料是否合法,而且htm...

Django中 form表單的使用

from django import forms 第一步 首先在models.py中定義乙個表單模型 class remarkform forms.form subject forms.charfield max length 100 label mail forms.emailfield labe...

Django的form表單和ajax

在web開發中,表單提交是乙個很常見的功能,在django中,使用form表單提交較為簡單,需要注意在表單中新增,如果不想這樣做,也可以在對應的view方法中新增裝飾器 csrf exempt,強制不使用csrf認證。如果是ajax提交表單,則相對複雜一些,在ajax提交時,除了提交你的表單內容資料...