django的forms组件的使用
欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0705/5711.html 1190000019668281
forms组件
导入相关模块
from django import forms
from django.forms import fields
常规使用
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)
自定义错误信息error_messages
class F1Form(forms.Form):
username = fields.CharField(max_length=18,
min_length=6,
required=True,
error_messages={
'required':'用户名不能为空',
'min_length':'用户名过短',
'max_length':'用户名过长'
}
)
html的调用
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>
后台数据验证:
obj = F1Form(req.POST)
if obj.is_valid(): #判断传来的值是否通过验证
models.UserInfo.objects.create(**obj.cleaned_data) #将值写入数据库
~需要注意的是create(**obj.cleaned_data)方法写入数据库的方式,是在forms提交的name名跟数据库的一致才可以.