Pau*_*ite 12 django django-authentication
我正在使用内置的auth模块在Django站点中实现身份验证,包括内置的UserCreationForm.
我想设置密码的最小长度.但是,我找不到任何关于如何执行此操作的文档.
我可以将auth模块的User模块配置为在数据库级别要求吗?或者我应该对其进行子类化UserCreationForm(我实际上已经因为无关的原因而这样做了)并添加一个额外的验证器来强制执行密码长度?
And*_*res 25
我认为实现这一目标的最简单方法是使用Django密码验证
最小长度足以将其添加到设置文件中:
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
'OPTIONS': {
'min_length': 8,
}
},
]
Run Code Online (Sandbox Code Playgroud)
还有其他验证器,如NumericPasswordValidator和CommonPasswordValidator
特别是如果你已经使用了一个分类UserCreationForm,我会说你应该只是添加验证.您应该能够覆盖clean_password表单上的方法:
def clean_password(self):
password = self.cleaned_data.get('password1')
if len(password) < 8:
raise ValidationError('Password too short')
return super(MyUserCreationForm, self).clean_password1()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7711 次 |
| 最近记录: |