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

Posted taoge188

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了会话保持及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中添加:

 

以上是关于会话保持及Form表单--Form表单的主要内容,如果未能解决你的问题,请参考以下文章

会话的保持和form表单

SpringBoot中表单提交报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“(代码片段

form表单及实际应用

vue+el-form表单验证、提交及重置

django form表单组建使用及CBV模式

django form表单组建使用及CBV模式