Django change password issue, super(type, obj): obj must be an instance or subtype of type
django, passwords, python
Solution
Your issue is in this line:
super(UserProfileEditForm, self).__init__(data=data, *args, **kwargs)
It should be
super(PasswordChangeForm, self).__init__(data=data, *args, **kwargs)
It is probably a copy-paste issue, when you were copying from the other form.
Some more context here
Problem
i'm having some trouble with my changepassword form, it continues to give me the same error: super(type, obj): obj must be an instance or subtype of type this is my form: ``` class PasswordChangeForm(forms.Form): current_password = forms.CharField(label=u'Current Password', widget=forms.PasswordInput(render_value=False)) new_password = forms.CharField(label=u'New Password', widget=forms.PasswordInput(render_value=False)) retyped_password = forms.CharField(label=u'Retype New Password', widget=forms.PasswordInput(render_value=False)) def __init__(self, data=None, user=None, *args, **kwargs): self.user = user super(UserProfileEditForm, self).__init__(data=data, *args, **kwargs) def clean_current_password(self): cleaned_data = self.cleaned_data current_password = cleaned_data.get('current_password', '') if not self.user.check_password(current_password): raise ValidationError('Wrong current password.') return current_password def clean(self): cleaned_data = self.cleaned_data new_password = cleaned_data.get('new_password', '') retyped_password = cleaned_data.get('retyped_password', '') if len(new_password) == 0 or len(retyped_password) == 0: raise ValidationError('Blank password fields.') if new_password != retyped_password: raise ValidationError('New password and retyped password do not match.') return cleaned_data def save(self): self.user.set_password(new_password) return self.user ``` any ideas?