Я думаю, что документы отлично справляются с описанием этого, но я вставлю это здесь и дам небольшое описание.
Кэширование всего сайта означает, что django будет пытаться кешировать каждое настроенное вами представление с помощью промежуточного программного обеспечения.
Документы для кэша сайта
http://docs.djangoproject.com/en/dev/topics/cache/#the-per-site-cache
Как только кэш настроен, самый простой способ использовать кеширование - это кэшировать весь ваш сайт.
По сути, это набор промежуточного программного обеспечения, поэтому он кэширует все представления.Промежуточное программное обеспечение применяется к каждому запросу / ответу.
Для документов кэша просмотра
http://docs.djangoproject.com/en/dev/topics/cache/#the-per-view-cache
Более детальный способ использованияОсновой кэширования является кэширование вывода отдельных представлений.django.views.decorators.cache определяет декоратор cache_page, который автоматически кеширует ответ представления для вас.
Это кеш для каждого представления.Вы можете решить кэшировать определенное представление, применив декоратор @cache_page
к определенному представлению (в отличие от всех представлений выше)
Документы кеша фрагментов шаблона
http://docs.djangoproject.com/en/dev/topics/cache/#template-fragment-caching
Тег шаблона {% cache%} кэширует содержимое блока в течение заданного промежутка времени.
Это позволяет вам кэшировать фрагменты вашего шаблона (в отличие от полного представления выше), например, вы можете кэшировать дорогой запрос в шаблоне, в то время как другие части сайта по-прежнему обслуживаются динамически.
Это было бы полезно, если некоторые части не могут быть кэшированы... например, классическая проблема отображения вошедшего в систему пользователя сверху не была бы возможна с кешем для каждого просмотра, так как пользователь должен был бы обновиться и, таким образом, кеш стал недействительным.
Если вы будете читать дальше в документах, вы также получите API кеша:
Документы кеша API
http://docs.djangoproject.com/en/dev/topics/cache/#the-low-level-cache-api
Это в основном то, как вы получаете контроль над кешем в коде Python (в отличие от шаблона выше).
# imagine you have a function that takes a day to complete.
cache.set('very_expensive_homepage_logic', takes_a_day_to_calculate())
# now if you call get() with your key, it will be returned and you won't have to wait a day to calculate.
cache.get('very_expensive_homepage_logic')