Попробуйте переопределить функцию form_valid()
в своем подклассе PaswordChangeView
.
Вот функция в исходном PaswordChangeView
исходном коде :
def form_valid(self, form):
form.save()
# Updating the password logs out all other sessions for the user
# except the current one.
update_session_auth_hash(self.request, form.user)
return super().form_valid(form)
Там вы можете увидеть звонок на update_session_auth_hash()
.Вместо этого удалите его и поместите в ваш подкласс следующее:
from django.contrib.auth import logout
def form_valid(self, form):
form.save()
self.request.session.flush()
logout(self.request)
return super().form_valid(form)
Тогда не вызовет эту функцию.