Django學習筆記之form表單

2021-08-23 14:40:39 字數 1432 閱讀 9046

表單是通過類實現的,繼承自forms.form,然後在裡面定義要驗證的字段.

在表單中,建立欄位跟模型是一模一樣的,但是沒有null=true或者blank=true等這幾種引數了,有的引數是required=true/false.

使用is_valid()方法可以驗證使用者提交的資料是否合法,而且html表單元素的name必須和django中的表單的name保持一致,否則匹配不到.

is_bound屬性:用來表示form是否繫結了資料,如果繫結了,則返回true,否則返回false.

cleaned_data:這個是在is_valid()返回true的時候,儲存使用者提交上來的資料.

建立forms.py的檔案,建立乙個addform的類:

#/forms.py

from django import forms

class

addform

(forms.form):

first = forms.integerfield

() second = forms.integerfield

()# 可以生成前端頁面,也可以用來驗證資料的合法性.

#檢視函式 views.py

from .forms import addform

defadd_test

(request):

if request.method == 'get':

form = addform() # form例項化

return render(request,'douban/add_test.html',

context=

)elif request.method == 'post':

form = addform(request.post) # 拿到form表單的值

# 判斷資料合法性

if form.is_valid():

first = form.cleaned_data.get('first') # cleaned_data字典方式取值

second = form.cleaned_data.get('second')

print(first,second)

return httpresponse(first+second)

form表單中的一些引數說明:

max_length 最大長度

min_length 最小長度

widget 負責渲染網頁上html 表單的輸入元素和提取提交的原始資料

attrs 包含渲染後的widget 將要設定的html 屬性

error_messages 報錯資訊

注:雖然form可以生成前端頁面,但這個功能實際用的少,主要是是用form表單的驗證功能

django學習 Form表單

在驗證某個欄位的時候,可以傳遞乙個validators引數用來指定驗證器,對資料進行進一步的過濾。驗證器有很多,但是很多驗證器我們其實已經通過這個field或者一些引數就可以指定了。比如emailvalidator,我們可以通過emailfield來指定,比如maxvaluevalidator,我們...

django之Form元件補充

自定義驗證規則 方法一 from django.forms import form from django.forms import widgets from django.forms import fields from django.core.validators import regexval...

form學習筆記

學習 html權威指南 學習筆記 配置表單 其他功能 form告訴瀏覽器它處理的是html表單 區域性屬性內容 習慣樣式form 設定表單外的元素 input 區域性屬性 內容 習慣樣式 button 區域性屬性 內容 習慣樣式 type屬性的值 如果不設定form元素的action屬性,則瀏覽器會...