Джанго частично кеширует вид - PullRequest
4 голосов
/ 20 февраля 2012

У меня есть простая страница с частями:

  • список элементов, взятых из базы данных
  • заголовок.

В заголовке лежит обычная «форма входа» или имя вошедшего в систему пользователя.Для всех пользователей «часть элементов» одинакова, но если я кеширую весь вид, другой заголовок (ваше собственное имя пользователя или форма входа в систему, если вы не вошли в систему) не отображается в соответствии с состоянием пользователя.Как я могу кэшировать часть "items" и оставить заголовок динамическим?Спасибо.

Ответы [ 2 ]

5 голосов
/ 20 февраля 2012

Использовать кэш фрагмента шаблона .Это позволяет вам кэшировать только фрагмент шаблона с вашим списком элементов:

{% load cache %}
 A header here
{% cache 500  %}
   List of items here
{% endcache %}
3 голосов
/ 20 февраля 2012

Если вы используете систему кеширования Django и версию 1.3, похоже, это очень просто с кэшированием фрагментов шаблона . Фактически, версия, приведенная в документации, предлагает кэшировать обе части страницы как отдельные фрагменты, указывая заголовок зарегистрированному пользователю:

{% load cache %}

{% cache 500 header request.user.username %}
    .. header ..
{% endcache %}

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