将密码NumericValidator设为可选

时间:2018-06-21 15:21:01

标签: python django

对于我正在使用的该应用程序,密码字段应该只能接受数字密码,因为某些特殊用户将只需使用4位数字即可登录其仪表板。

我注释了NumericPassowrdValidator,但得到KEYERROR - 'NAME'。我检查了contrib.auth.password_validator代码以查看是否可以添加选项,并为NumericValidator设置MinimumLengthValidator,将true或false设置为NumericValidator,但找不到类似的东西。

如何避免使用AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { #'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] ?我想念什么?

if 'C:/Path/Data/%s' % stat:
    directory = 'C:/Path/Data/%s' % stat                
else:                
    directory = 'C:/Path/Data/%s' % stat.replace('/', ' ')
if not os.path.exists(directory):
    try:
        os.makedirs(directory)
    except OSError as e:
        if not e.errno != errno.EEXIST:
            raise

1 个答案:

答案 0 :(得分:1)

要禁用验证程序,您需要注释掉(或删除)整个字典,而不仅仅是NAME键:

# {
#     'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
# },