0Pricing
Django Academy · Aula

Cache por visualização e por site

Armazene páginas inteiras em cache com decoradores

Cache por visualização e por site é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Cache the Whole Page

Sometimes a full page is expensive to build. Django can store the entire rendered response and replay it for the next visitor.

The cache_page Decorator

Wrap a view in cache_page and Django caches its full output for the number of seconds you pass in.

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
def article_list(request):
    ...

What Per-View Caching Stores

Per-view caching keeps the HttpResponse for that view only, so just the pages you decorate get this speedup.

Caching in the URLconf

You can also apply cache_page in urls.py without touching the view, useful for views you do not own.

path("news/", cache_page(60)(news_view))

Per-Site Caching

To cache nearly every page at once, Django offers per-site caching driven by two middleware classes instead of decorators.

The Two Middleware

Add UpdateCacheMiddleware at the top of the list and FetchFromCacheMiddleware at the bottom for per-site caching to work.

MIDDLEWARE = [
    "django.middleware.cache.UpdateCacheMiddleware",
    "...your middleware...",
    "django.middleware.cache.FetchFromCacheMiddleware",
]

The Site Cache Seconds

Set CACHE_MIDDLEWARE_SECONDS to control how long every cached page stays fresh across the whole site.

CACHE_MIDDLEWARE_SECONDS = 600

Only GET and HEAD

Both strategies cache only safe GET and HEAD requests, so form submissions and other POSTs are never served from cache.

Never Cache Private Pages

Skip caching on user-specific pages with never_cache, since a dashboard must never leak another person's data.

from django.views.decorators.cache import never_cache

@never_cache
def dashboard(request):
    ...

Vary Headers Matter

Use vary_on_headers so a cached page can differ by request details like language or device, keeping the right copy per visitor.

Pick the Right Scope

Reach for per-view caching when only a few heavy pages need help, and per-site when almost everything is read-only.

Quick Check

Let's nail down how Django decides what to cache.

Recap

You learned cache_page for single views and the cache middleware for the whole site, plus never_cache to protect private pages. 🚀

Perguntas Frequentes

A aula “Cache por visualização e por site” é grátis?

Sim — o texto completo de “Cache por visualização e por site” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.

O que vou aprender em “Cache por visualização e por site”?

Armazene páginas inteiras em cache com decoradores Você pratica Django Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Django Academy?

Nenhuma experiência prévia é necessária. Django Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Cache por visualização e por site”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Django Academy?

Sim. Cada aula de Django Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Backends de cache e Redis
  2. Cache por visualização e por site
  3. Cache de fragmentos de template
  4. API de cache de baixo nível e invalidação
← Voltar para Django Academy