0Pricing
Flask Academy · Lección

Invalidación de caché con versiones de archivos

Obligue a los navegadores a obtener los recursos actualizados.

Invalidación de caché con versiones de archivos es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Browsers Love to Cache

Browsers save assets to load pages faster. That is great until you ship a new style.css and visitors keep seeing the cached old one. 🗂️

The Stale Asset Problem

If the URL stays /static/style.css forever, the browser assumes nothing changed. Your fresh design simply never reaches the user.

Change the URL to Refetch

The fix is cache busting: change the asset URL whenever the file changes. A new URL forces the browser to download again.

A Version Query String

The simplest trick adds a version query parameter. /static/style.css?v=2 is treated as a new resource by the browser.

<link href="{{ url_for('static', filename='style.css') }}?v=2">

Bump It on Each Release

Each time you deploy changed CSS, raise the v number. A central variable beats editing the value in many templates by hand.

Use the File's mtime

A smarter bust uses the file modification time. Read getmtime so the version changes only when the file actually does.

import os
v = int(os.path.getmtime("static/style.css"))

Let url_for Carry Extras

Any unknown keyword you pass url_for becomes a query parameter, so you can attach a computed version cleanly.

url_for("static", filename="style.css", v=v)
# -> /static/style.css?v=1718000000

Content Hashes Are Best

The strongest approach names files by a hash of their contents, like style.abc123.css. New contents mean a new name and a guaranteed refetch.

Hashes Enable Long Caching

Because a hashed name only changes when contents change, you can cache it almost forever. Speed and freshness stop fighting each other.

Build Tools Do the Work

Asset bundlers generate hashed filenames and a manifest mapping logical names to hashed ones, so your templates ask for the current build.

Pick the Right Tier

Start with a simple ?v= version for small projects. Move to content hashes once a build pipeline is worth the setup.

Quick Check

Why does adding ?v=2 to an asset URL make the browser fetch a fresh copy?

Recap: Cache Busting

You learned to change asset URLs so browsers refetch updates: a version query for small apps, content hashes for serious builds. 🚀

Preguntas frecuentes

¿La lección «Invalidación de caché con versiones de archivos» es gratis?

Sí — el texto completo de «Invalidación de caché con versiones de archivos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Invalidación de caché con versiones de archivos»?

Obligue a los navegadores a obtener los recursos actualizados. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Flask Academy?

No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Invalidación de caché con versiones de archivos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Flask Academy?

Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. La convención de la carpeta static
  2. Enlace recursos con url_for static
  3. Invalidación de caché con versiones de archivos
  4. La realidad de los archivos estáticos en producción
← Volver a Flask Academy