Не получается сменить пароль Django, AbstractUser

Я новичок в джанго, не судите строго. Я хочу добавить пользователю возможность изменить пароль если он забыл его, через отправку письма на эл.почту, но у меня возникли трудности даже с обычной сменой пароля. Помогите, пожалуйста, заранее спасибо.

views.py

from django.views.generic import UpdateView
from django.contrib.auth.forms import PasswordChangeForm


class ChangeFormView(UpdateView):
    form_class = PasswordChangeForm
    template_name = 'main/change_password.html'
    success_url = '/'

    def get_object(self, queryset=None):
        return self.request.user

    def get_form_kwargs(self):
        kwargs = super(ChangeFormView, self).get_form_kwargs()
        kwargs['user'] = kwargs.pop('instance')
        return kwargs

Наследуешься не от UpdateView, а от PasswordChangeView. Класс формы PasswordChangeForm. success_url сделай через reverse_lazy, пример: success_url = reverse_lazy('имя_роута'). Методы в этом классе тебе и не нужны впринципе

Вернуться на верх