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列表形式的