Мы делаем много компонентного кеширования, и не все они обновляются одновременно. Поэтому мы устанавливаем значения хоста и метки времени в универсально включенном контекстном процессоре. В верхней части каждого фрагмента шаблона мы вставляем:
<!-- component_name {{host}} {{timestamp}} -->
Имя_компонента просто упрощает просмотр и поиск этой строки.
Все наши представления, которые являются страницами сведений об объектах, определяют переменную контекста "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)
Если вы загружаете страницу, а любая из временных меток имеет возраст более нескольких секунд, то весьма неплохо поспорить, что компонент был кэширован.