溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在django中使用forms組件

發(fā)布時(shí)間:2021-03-24 16:59:42 來(lái)源:億速云 閱讀:140 作者:Leah 欄目:開發(fā)技術(shù)

如何在django中使用forms組件?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

forms組件

django框架提供了一個(gè)Form類,來(lái)進(jìn)行web開發(fā)中的表單提交數(shù)據(jù)的處理工作。

導(dǎo)入相關(guān)模塊

from django import forms

from django.forms import fields

常規(guī)使用

class F1Form(forms.Form):
 username = fields.CharField(max_length=18,min_length=2,required=True)
 pwd = fields.CharField(required=True,max_length=16,min_length=6)
 age = fields.IntegerField(required=True)
 email = fields.EmailField(required=True)

自定義錯(cuò)誤信息error_messages

class F1Form(forms.Form):
 username = fields.CharField(max_length=18,
 min_length=6,
 required=True,
 error_messages={
   'required':'用戶名不能為空',
   'min_length':'用戶名過(guò)短',
   'max_length':'用戶名過(guò)長(zhǎng)'
 }
 )

html的調(diào)用

views部分:

def rege(req):
 obj = F1Form()
 return render(req,'rege.html',{'OBJ':obj})

html部分:

<form action="">
 <p>{{ OBJ.username }}</p>
 <p>{{ OBJ.pwd }}</p>
 <p>{{ OBJ.age }}</p>
 <p>{{ OBJ.email }}</p>
</form>

后臺(tái)數(shù)據(jù)驗(yàn)證:

obj = F1Form(req.POST)
if obj.is_valid(): #判斷傳來(lái)的值是否通過(guò)驗(yàn)證
 models.UserInfo.objects.create(**obj.cleaned_data) #將值寫入數(shù)據(jù)庫(kù)

~需要注意的是create(**obj.cleaned_data)方法寫入數(shù)據(jù)庫(kù)的方式,是在forms提交的name名跟數(shù)據(jù)庫(kù)的一致才可以.

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI