ModelForm
功能:
让模型类的字段具有表单验证的效果
例子:
以一个模型类为例来演示它的使用
模型类
这是我们参考的模型类
表单模型类
导入
from django import forms
from .models import 模型类
继承
class 类名称(forms.ModelForm):
class Meta:
model = 模型类
fields = '__all__'
效果:
这是一个表单模型类
我们不用写表单的字段
会自动以模型类中的字段定义表单字段
model定义了参照哪个模型类
fields定义了针对模型类中的哪些字段进行验证
配置ModelForm
在模型类中定义一个Meta类
class 类名称(forms.ModelForm):
class Meta:
model = 模型类名
fields = [字段1,字段n]
指定参照的字段
fields = [字段1,字段n]
排除某字段
exclude = [字段1,字段n]
对字段增加验证 在模型类中
定义模型类的时候可以在参数中新增字段的验证
导入验证器
from django.core import validators
使用验证器
字段 = models.FloatField(validators=validators.验证器类型(参数与值))
例子
定义错误的提示 在模型表单类中
对字段内容进行个性化验证
方法同表单的用法一样
写一个方法名称为
clean_字段
然后提取数据
然后验证
错了就丢异常
forms.ValidationError