Django之form组件提交数据如何验证数据库中是否存在
方式一,直接判断

方式二,从源码入手(对单个字段做验证)

如果要验证username是否在数据库中存在,先查看源码,由于数据验证是从 obj.is_valid()方法开始验证,所以进入这个方法

依次查看



回到form类

必须要抛出ValidationError异常,导入这个异常

对多个字段做验证
回到刚才的源码,看这个函数




尝试提交数据


可以看到,对于整体的错误信息通过 __all__ 来取,
print(obj.errors['__all__']) #<ul class="errorlist nonfield"><li>整体错误信息</li></ul>
对于错误类型obj.errors,
是ErrorDict类型,是继承dict的

可以通过上面的几个方法来返回不同的类型,默认是返回HTML列表形式的

浙公网安备 33010602011771号