Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 我想在验证用户名期间调用validate\u-even方法,但它显示未定义名称“validate\u-even”_Django_Python 3.x_Django Models - Fatal编程技术网

Django 我想在验证用户名期间调用validate\u-even方法,但它显示未定义名称“validate\u-even”

Django 我想在验证用户名期间调用validate\u-even方法,但它显示未定义名称“validate\u-even”,django,python-3.x,django-models,Django,Python 3.x,Django Models,我一直在为用户名my forms.py创建自定义验证 我的模特是 我的validators.py是 我不明白我犯了什么错误。如何在validotrs中调用我的自定义方法?在models.py和forms.py的开头添加此行: from .validators import validate_even 您是否记得将该方法包含到表单文件中?我没有看到进口声明。您好,欢迎来到SO。Django是一个Python框架,因此如果您想使用Django,显然希望您学习Python。我建议你在做其他事情之前花

我一直在为用户名my forms.py创建自定义验证

我的模特是

我的validators.py是


我不明白我犯了什么错误。如何在validotrs中调用我的自定义方法?

在models.py和forms.py的开头添加此行:

from .validators import validate_even

您是否记得将该方法包含到表单文件中?我没有看到进口声明。您好,欢迎来到SO。Django是一个Python框架,因此如果您想使用Django,显然希望您学习Python。我建议你在做其他事情之前花点时间完成整个官方Python教程,否则你会花时间在这里发布一些非常基本的东西。好的,我确实做了。现在它显示为UserAbstractUser指定的未知字段username包括一个username字段,删除models.py中的username字段行,然后./manage.py makemigrations&&./manage.py migrate并再次运行服务器。您好,我想为username字段使用自定义验证器和自定义帮助文本。如果我将其从models.py中删除,那么如何对用户名字段使用自定义验证?@ARUNIMADAS您为用户指定的未知字段用户名的问题完全无关,请发布一个新问题。@ARUNIMADAS验证是用户在forms.py中设置的,而不是models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
from PIL import Image
from django.contrib.auth.validators import UnicodeUsernameValidator
class User(AbstractUser):
   pp = models.CharField(max_length=100, blank=True, null=True)
   xx = models.CharField(max_length=100, blank=True, null=True)
   dd = models.CharField(max_length=100, blank=True, null=True)
   vv = models.CharField(max_length=100, blank=True, null=True)
   picture = models.ImageField(upload_to = 'uploads/', default = 'var/www/html/typo3/uploads/no-img.jpg')
   username = models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='baal required.',validators=[validate_even],  max_length=150),
import re
from django.core import validators
from django.utils.deconstruct import deconstructible
from django.utils.translation import gettext_lazy as _
from django.core.exceptions import ValidationError
def validate_even(value):
   if value % 2 != 0:
     raise ValidationError(
        _('%(value)s is not an even number'),
        params={'value': value},
    )
from .validators import validate_even