Ответ 1
Мы выполняем много кэширования компонентов, и не все из них обновляются одновременно. Таким образом, мы устанавливаем значения хоста и метки времени в универсально включенном процессоре контекста. В верхней части каждого фрагмента шаблона мы вставляем:
<!-- 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)
Если вы загружаете страницу и какая-либо отметка времени составляет несколько секунд, это довольно хорошая ставка на то, что компонент был кэширован.