我已经制作了一个“编辑个人资料”表单,您可以在这里进行一个非常经典的操作:更改密码。验证设计:表单还是视图?
因此我有3个字段:旧密码,新密码和重新输入新密码。
问题在于设计。 我第一次检查一切类型的形式确定clean
方法:
def clean(self):
old = self.cleaned_data.get('old_password')
new1 = self.cleaned_data.get('new_password1')
new2 = self.cleaned_data.get('new_password2')
if old:
if not new1:
raise ValidationError(_(u'New password missing'))
if not new2:
raise ValidationError(_(u'New password missing'))
if new1 != new2:
raise ValidationError(_(u"The new password "
u"is not the same twice"))
return super(ProfileForm, self).clean()
从我的形式,除非我砍,我不能对当前登录的用户访问 我的问题是关于设计:是它更好地在表单代码破解,并在该处更改密码,以便在形式is_valid()
,还是好做的视图form_valid()
方法?