编写django验证器。验证程序需要自己的文件吗?

时间:2019-08-09 17:26:38

标签: django django-models django-forms django-views

在Django Manuel中,是编写验证器的示例。 https://docs.djangoproject.com/en/2.2/ref/validators/

  

qoute


例如,这是一个仅允许偶数的验证器:

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},
    )

您可以通过字段的验证器参数将其添加到模型字段:

> from django.db import models
> 
> class MyModel(models.Model):
>     even_field = models.IntegerField(validators=[validate_even])

  

qoute结束

但是我应该把这段代码放在哪里?

 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},
        )

我应该创建自己的文件,例如 validator.py 还是应该将其放入模型中?

1 个答案:

答案 0 :(得分:1)

最佳做法是尽可能地分离代码的不同逻辑组件。因此,将模型的代码放入模型文件中,并将验证器代码放入单独的文件中。