django中forms组件的使用与注意

时间:2022-09-25 20:58:49

forms组件

django框架提供了一个Form类,来进行web开发中的表单提交数据的处理工作。

导入相关模块

from django import forms

from django.forms import fields

常规使用

?
1
2
3
4
5
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

?
1
2
3
4
5
6
7
8
9
10
class F1Form(forms.Form):
 username = fields.CharField(max_length=18,
 min_length=6,
 required=True,
 error_messages={
   'required':'用户名不能为空',
   'min_length':'用户名过短',
   'max_length':'用户名过长'
 }
 )

html的调用

views部分:

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

html部分:

?
1
2
3
4
5
6
<form action="">
 <p>{{ OBJ.username }}</p>
 <p>{{ OBJ.pwd }}</p>
 <p>{{ OBJ.age }}</p>
 <p>{{ OBJ.email }}</p>
</form>

后台数据验证:

?
1
2
3
obj = F1Form(req.POST)
if obj.is_valid(): #判断传来的值是否通过验证
 models.UserInfo.objects.create(**obj.cleaned_data) #将值写入数据库

~需要注意的是create(**obj.cleaned_data)方法写入数据库的方式,是在forms提交的name名跟数据库的一致才可以.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。

原文链接:https://segmentfault.com/a/1190000019668281