Sobes.tech
Back to questions
Junior — Middle
50

Объясните принцип работы шаблонного кеширования в Django и его преимущества

Companies where asked
Оптимакрос

Answer from AI

sobes.tech AI

В Django шаблонное кеширование позволяет сохранять сгенерированный HTML-код шаблона или его части в кеш, чтобы при повторных запросах не выполнять заново рендеринг. Это ускоряет отдачу страниц и снижает нагрузку на сервер.

Принцип работы:

  • В шаблоне используется тег {% cache %}, который принимает ключ кеша и время жизни.
  • При первом рендеринге результат сохраняется в кеш.
  • При последующих запросах, если кеш не истек, Django возвращает сохранённый HTML без повторного рендеринга.

Преимущества:

  • Ускорение отклика сайта за счёт уменьшения вычислений.
  • Снижение нагрузки на базу данных и сервер.
  • Гибкость: можно кешировать целые страницы или отдельные фрагменты.

Пример использования в шаблоне:

{% load cache %}

{% cache 600 sidebar user.id %}
  <!-- сложный блок, который редко меняется -->
  <div>Привет, {{ user.username }}!</div>
{% endcache %}

Здесь блок будет кешироваться 600 секунд с ключом, зависящим от user.id.