相关疑难解决方法(0)

如何在django auth密码验证器旁边使用自定义密码验证器?

如上所述,我将尝试在注册过程中使用某个额外规则来验证密码.如果密码至少有一个数字,一个字母和一个特殊字符,则额外规则应该是密码验证.

我解决这个问题的方法我创建了一个名为validators.py的文件.

from django.core.exceptions import ValidationError

class CustomPasswortValidator:

    def validate(value):

      # check for digit
      if not any(char.isdigit() for char in value):
          raise ValidationError(_('Password must contain at least 1 digit.'))

      # check for letter
      if not any(char.isalpha() for char in value):
          raise ValidationError(_('Password must contain at least 1 letter.'))

      # check for special character
      special_characters = "[~\!@#\$%\^&\*\(\)_\+{}\":;'\[\]]"
      if not any(char in special_characters for char in value):
        raise ValidationError(_('Password must contain at least 1 letter.'))
Run Code Online (Sandbox Code Playgroud)

我的自定义注册表单如下所示:

from django import forms
from django.contrib.auth.forms …
Run Code Online (Sandbox Code Playgroud)

python passwords django validation registration

8
推荐指数
1
解决办法
4388
查看次数

标签 统计

django ×1

passwords ×1

python ×1

registration ×1

validation ×1