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中添加:
原文地址:https://www.cnblogs.com/taoge188/p/10541638.html
时间: 2024-10-02 18:54:44