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