Кеш для всех, кроме сотрудников
У меня есть сайт django, где я хочу прикрепить "панель администратора" вверху каждой страницы, не являющейся администратором, для сотрудников. Он будет содержать полезные вещи, такие как инструменты редактирования страниц и т. Д.
Проблема исходит от меня, используя @cache_page
Декоратор на многих страницах. Если обычный пользователь заходит на страницу, кэшированная версия появляется без панели администратора (даже для пользователей с правами администратора), и если администратор сначала заходит на страницу, обычные пользователи видят панель администратора.
Я мог бы утомительно пройтись по шаблонам, добавив региональные блоки кеша, но шаблонов много, а жизнь слишком коротка.
В идеале был бы способ заставить кэширование игнорировать запросы на получение / установку кэша от пользователей с правами администратора... Но я не знаю, как лучше всего это реализовать.
Как бы вы решили эту проблему?
1 ответ
Я на самом деле не сказал вам всю правду. Единственные вошедшие люди - это сотрудники. Все остальные анонимны.
Копаться в кеше промежуточного ПО источника (что @cache_page
использует) я нашел CACHE_MIDDLEWARE_ANONYMOUS_ONLY
установка!
Я считаю, что это должно исправить ситуацию для меня.