Django logout (перенаправление на главную страницу). Удалить cookie?

Я перенаправляю пользователя на домашнюю страницу после выхода из системы. В промежутке я хотел бы удалить все/или конкретные куки файлы клиента (я уже установил).

def logoutuser(request):
  logout(request)
  return redirect('app.home.views.home')

Чтобы вызвать response.delete_cookie ('user_location'), нет объекта ответа. Как это сделать?

Ответы

Ответ 1

Как и jobscry, logout() очищает данные сеанса, но похоже, что вы также установили свои собственные файлы cookie.

Вы можете обернуть просмотр журнала авторизации, который вернет HttpResponse:

def logout_user(request):
     response = logout(request, next_page=reverse('app.home.views.home'))
     response.delete_cookie('user_location')
     return response

Или, если вы просто используете метод выхода из системы в отличие от представления, вы можете использовать возвращаемое значение для метода redirect(), который у вас есть [который, как я полагаю, также возвращает HttpResponse].

def logout_user(request):
     logout(request)
     response = redirect('app.home.views.home')
     response.delete_cookie('user_location')
     return response