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