fix: adiciona cache-busting nos arquivos estaticos (css/js) para evitar layout desatualizado apos deploy

This commit is contained in:
Gustavo
2026-08-20 13:52:07 -03:00
parent 48d17d15b5
commit ab8912fce7
5 changed files with 44 additions and 4 deletions
+29
View File
@@ -0,0 +1,29 @@
"""
Versão dos arquivos estáticos (CSS/JS) usada como cache-busting nos links
de app/templates/base.html (?v=...). Sem isso, um navegador que já tinha
carregado /static/estilo.css antes de um deploy pode continuar servindo a
cópia antiga em cache — a URL não muda, então não há sinal pro navegador
buscar de novo — mesmo numa aba anônima aberta antes do deploy terminar.
Calculada uma única vez, na inicialização do processo, a partir do mtime
mais recente entre os arquivos em app/static/. Cada novo deploy recria o
container com os arquivos atualizados (mtime novo), então o valor muda
sozinho a cada implantação, sem precisar editar nada aqui.
"""
import os
_DIR_STATIC = os.path.join(os.path.dirname(__file__), "static")
def _calcular_versao() -> str:
arquivos = [
os.path.join(_DIR_STATIC, nome)
for nome in os.listdir(_DIR_STATIC)
if os.path.isfile(os.path.join(_DIR_STATIC, nome))
]
if not arquivos:
return "0"
return str(int(max(os.path.getmtime(caminho) for caminho in arquivos)))
ASSET_VERSAO = _calcular_versao()