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

 

posted @ 2019-02-26 18:44  烛爻  阅读(1809)  评论(0编辑  收藏  举报