【发布时间】:2015-11-28 01:31:43
【问题描述】:
我正在尝试使用 PasswordInput() 以安全的方式确认用户密码,但 Django 似乎只允许每个表单使用一个 PasswordInput()。以下是实施确认密码的最佳方法:
class VerifyAccountsForm(forms.ModelForm):
username = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Username'}), label="")
password = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder': 'Password'}), label="")
password_verify = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder': 'Verify password'}), label="")
def clean_password(self):
print self.cleaned_data
password1 = self.cleaned_data.get('password')
password2 = self.cleaned_data.get('password_verify')
if not password2:
raise forms.ValidationError("You must confirm your password")
if password1 != password2:
raise forms.ValidationError(_('Your passwords do not match'), code='invalid')
return password2
clean_data的输出只有用户名和密码,没有password_verify。
【问题讨论】:
标签: django django-forms django-views