Django - LogoutView - cache_control - кнопка "Назад" браузера имеет кэш вышедшего пользователя

Django 2.1.7

Это для простого блога с главной страницей (просмотр списка записей), просмотром деталей записи и профилем (просмотр списка записей)

Когда пользователь выходит из системы, LOGOUT_REDIRECT_URL = '/' перенаправляет его на домашнюю страницу.

Однако, когда пользователь нажимает кнопку "назад" в браузере, на предыдущей странице по-прежнему отображаются все данные вышедшего из системы пользователя. Когда я перезагружаю страницу, она очищает кэш.

когда пользователь вошел в систему, показывает имя пользователя]

when the user's logged in, shows username

когда пользователь вышел из системы, показывает 'login'

when the user's logged out, shows 'login'

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

@cache_control(no_cache=True, must_revalidate=True, no_store=True)
@login_required
  • Нужно ли мне добавлять эти декораторы в каждое представление?
  • Мне не нужен декоратор @login_required. AnonymousUsers должны иметь возможность просматривать все страницы без входа в систему.

Как лучше всего это сделать? Аналогично потоку выхода из системы Twitter. (пользователь выходит из системы -> страница входа -> кнопка назад -> предыдущая страница перезагружается)

urls.py

from django.contrib.auth import views as auth_views
urlpatterns = [
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
Вернуться на верх