会话保持及Form表单--Form表单

Form表单分为三种:Form表单都继承自django.forms


1、简单表单的使用(Form)

2、模型表单(ModelForm)

3、模型表单的自定义验证

实例1:简单表单的使用,博客用户注册

步骤

在项目目录下创建forms.py,表单文件

from django import formsclass RegisterForm(forms.Form):
    username = forms.CharField(label='用户名',max_length=20)  #CharField 默认对应text类
    password = forms.CharField(label='密码',max_length=8,    #字段名与input类中一一对应,会被渲染成input类型
                               min_length=6,  #label属性会被渲染成label标签的内容
                               widget=forms.PasswordInput(attrs={'placehodler':'请输入长度为6-8位的密码'}),
                               error_messages={
                                   'min_length':'密码长度小于6位',
                                   'max_length':'密码长度大于8位'
                               })
    password_repeat = forms.CharField(label='请再次输入密码',widget=forms.PasswordInput())
    email = forms.EmailField(required=False)  #这个选项表示这个选项不是必填项,默认是必填选项

#自定义验证密码,重写clean方法
    def clean(self):
        cleaned_data = super().clean()  #继承父类的clean() 方法,使用验证is_valid()方法会调用clean()
        password = cleaned_data.get('password')
        password_repeat = cleaned_data.get('password_repart')
        if password != password_repeat:
            msg = '密码不一致!'
            self.add_error('password_repeat',msg)

在视图view.py中添加:

猜你喜欢

转载自www.cnblogs.com/taoge188/p/10541638.html
今日推荐