十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关深入浅析Django模型验证器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
从事四川联通机房服务器托管,服务器租用,云主机,网站空间,域名注册,CDN,网络代维等服务。前言
在Django的模型字段参数中,有一个参数叫做validators,这个参数是用来指定当前字段需要使用的验证器,也就是对字段数据的合法性进行验证,比如大小、类型等。
Django的验证器可以分为模型相关的验证器和表单相关的验证器,它们基本类似,但在使用上有区别。
本文讨论的是模型相关的验证器。
一、自定义验证器
一个验证器其实就是一个可调用的对象(函数或类),接收一个初始输入值作为参数,对这个值进行一系列逻辑判断,如果不满足某些规则或者条件,则表示验证不通过,抛出一个ValidationError异常。如果满足条件则通过验证,不返回任何内容(也就是默认的return None),可以继续下一步。
验证器具有重要作用,可以被重用在别的字段上,是工具类型的逻辑封装。
下面是一个验证器的例子,它只允许偶数通过验证:
from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ def validate_even(value): if value % 2 != 0: raise ValidationError( _('%(value)s is not an even number'), params={'value': value}, )