Не срабатывает функция выхода из профиля в django
Как я понял не очищаются куки, поэтому пользователь даже после выхода остается авторизованным. Как только почистишь куки вручную в браузере пользователь розлогинивается, вот класс который отвечает за выход
class LogoutView(RedirectURLMixin, TemplateView): """ Log out the user and display the 'You are logged out' message. """
http_method_names = ["get", "options"]
template_name = "registration/logged_out.html"
extra_context = None
@method_decorator(csrf_protect)
@method_decorator(never_cache)
def dispatch(self, request, *args, **kwargs):
return super().dispatch(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
"""Logout may be done via POST."""
auth_logout(request)
redirect_to = self.get_success_url()
if redirect_to != request.get_full_path():
# Redirect to target page once the session has been cleared.
return HttpResponseRedirect(redirect_to)
return super().get(request, *args, **kwargs)
def get_default_redirect_url(self):
"""Return the default redirect URL."""
if self.next_page:
return resolve_url(self.next_page)
elif settings.LOGOUT_REDIRECT_URL:
return resolve_url(settings.LOGOUT_REDIRECT_URL)
else:
return self.request.path
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
current_site = get_current_site(self.request)
context.update(
{
"site": current_site,
"site_name": current_site.name,
"title": _("Logged out"),
"subtitle": None,
**(self.extra_context or {}),
}
)
return context