Django Caching - не кэшировать для определенной части страницы - PullRequest
2 голосов
/ 16 января 2012

У меня проблема с кэшированием django для области входа в систему с помощью Safari.

Когда я использую memcache и у меня включено «django.middleware.cache.FetchFromCacheMiddleware», часть страницы входа в систему всегда кэшируется, показывая «Добро пожаловать, имя пользователя» даже после того, как я нажимаю «Выйти».

Должен измениться на ссылку «войти / зарегистрироваться» после выхода из системы. Кажется, это происходит только в сафари. Есть ли способ не кэшировать часть HTML-страницы? Я использовал @never_cache, когда дело доходит до просмотра функций, но эта информация для входа является частью base.html, который распространяется на другие шаблоны сайта htmls.

Спасибо.

Код

В base.html

{% if user.is_authenticated %}
        <div class="login">
        <a id="login_dropdown_link" title="Login_nav">Welcome {{ user.username }} ( <span id="total_count"> {% total_count %}</span> )</a>
        </div>
{% else %}
        <div class="login">
        <span class="spaced"><a href="/accounts/login" id="login-link" class="red">Log In | Sign Up</a></span>
        </div>
{% endif %}

1 Ответ

0 голосов
/ 25 января 2012

Скорее всего, это связано с проблемой заголовка, когда Safari получает указание кэшировать страницу в течение определенного периода времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...