django form 表单验证

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})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值