django自带得form表单验证
from django import forms
导入form包
创建类封装forms.Form
class QuestionAnswerForm(forms.Form):
pass
根据页面对象创建html标签
title = forms.fields.CharField(
min_length=4,//最小值
max_length= 10//最大值
widget=forms.widgets.TextInput(attrs={'class': "col-xs-8 col-sm-5"}),
error_messages={'required':'内容最少不能少于4'}
)
email = forms.fields.EmailField(
max_value == 10//最大值
min_value == 5 //最小值
) //email
float = forms.fields.FloatField(
max_value == 10//最大值
min_value == 5 //最小值
) //浮点数验证
int = forms.fields.IntegerField(
max_value == 10//最大值
min_value == 5 //最小值
)//整数验证
url = forms.fields.URLField()//用于接受url格式得字符串
difficulty = forms.IntegerField(
widget=forms.Select(choices=(
(1, '0.1'), (2, '0.2'), (3, '0.3'), (4, '0.4'), (5, '0.5'),
(6, '0.6'), (7, '0.7'), (8, '0.8'), (9, '0.9'),(10, '1'))
)) //使用int单选框
hobby = forms.fields.ChoiceField(
choices=((1, "单选题"), (2, "多选题"), (3, "判断题"), ),
initial=3,
widget=forms.widgets.Select()
) //单选(select)
hobby = forms.fields.MultipleChoiceField(
choices=((1, "单选题"), (2, "多选题"), (3, "判断题"), ),
label="题型",
initial=[1, 3],
widget=forms.widgets.SelectMultiple()
) //多选(select)
start_time = forms.DateTimeField(
label='时间',
input_formats=['%m/%d/%YT%H:%M'],
widget=forms.DateTimeInput(attrs={
'class': 'weui-input',
'type': 'datetime-local',
'emptyTips': '请选择时间'
})
)//时间模块
在html中使用
def demo(request):
form = QuestionAnswerForm()
return render(request,template_name == 'index.html',context=local())
// <div>{{ form.title }}</div>
在view中使用
# 实例验证对象
form = QuestionAnswerForm(request.POST) //验证POST接受过来参数
# 表单验证
if form.is_valid():
pass
# 获取表单内容
forms.clean()//获取回来的内容为字典
在页面中设置默认值
form = QuestionAnswerForm(initial={'name':value,'title':value,'age':value})