Не получается сменить пароль 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('имя_роута')
. Методы в этом классе тебе и не нужны впринципе