Мы выполняем много кэширования компонентов, и не все из них обновляются одновременно. Таким образом, мы устанавливаем значения хоста и метки времени в универсально включенном процессоре контекста. В верхней части каждого фрагмента шаблона мы вставляем в:
<!-- component_name {{host}} {{timestamp}} -->
имя_компонента только делает это легко сделать View Source и поиск этой строки.
Все наши представления, которые являются объектом детализация страницы определяют контекст переменную «page_object» и мы имеем это в верхней части мастер шаблона base.html:
<!-- {{page_object.class_id}} @ {{timestamp}} -->
class_id() является методом из суперкласс, используемый всеми нашими основными классами контента. Это просто:
def class_id(self):
"%s.%s.%s" % (self.__class__._meta.app_label,
self.__class__.__name__, self.id)
При загрузке страницы и любой из временных меток больше, чем несколько секунд назад, это очень хорошая ставка, что кэшировалась компонент.
Элегантное решение. Может быть также автоматизирован. Благодарю. – muhuk 2008-12-08 07:11:23
Просто для удобства у вас есть контекстные процессоры, которые вы упомянули где-то на djangosnippets.org или на другом сайте? – Matthew 2008-12-08 17:22:02