Кеш для всех, кроме сотрудников

У меня есть сайт django, где я хочу прикрепить "панель администратора" вверху каждой страницы, не являющейся администратором, для сотрудников. Он будет содержать полезные вещи, такие как инструменты редактирования страниц и т. Д.

Проблема исходит от меня, используя @cache_page Декоратор на многих страницах. Если обычный пользователь заходит на страницу, кэшированная версия появляется без панели администратора (даже для пользователей с правами администратора), и если администратор сначала заходит на страницу, обычные пользователи видят панель администратора.

Я мог бы утомительно пройтись по шаблонам, добавив региональные блоки кеша, но шаблонов много, а жизнь слишком коротка.

В идеале был бы способ заставить кэширование игнорировать запросы на получение / установку кэша от пользователей с правами администратора... Но я не знаю, как лучше всего это реализовать.

Как бы вы решили эту проблему?

1 ответ

Я на самом деле не сказал вам всю правду. Единственные вошедшие люди - это сотрудники. Все остальные анонимны.

Копаться в кеше промежуточного ПО источника (что @cache_page использует) я нашел CACHE_MIDDLEWARE_ANONYMOUS_ONLY установка!

Я считаю, что это должно исправить ситуацию для меня.

Другие вопросы по тегам