擅长:python、mysql、java
<p>当您调用表单超级方法的clean方法时,<code>def clean_new_password2(self)</code>all ready被调用,因此{<cd2>}为空,您需要重写表单中的clean_new_password2,查找源<a href="https://docs.djangoproject.com/en/1.8/_modules/django/contrib/auth/forms/" rel="nofollow noreferrer">auth forms</a></p>
<pre><code>class MySetPasswordForm(SetPasswordForm):
def clean_new_password2(self):
password1 = self.cleaned_data.get('new_password1')
password2 = self.cleaned_data.get('new_password2')
if password1 and password2:
if password1 != password2:
raise forms.ValidationError(
self.error_messages['password_mismatch'],
code='password_mismatch',
)
return password2
</code></pre>