fix: adiciona cache-busting nos arquivos estaticos (css/js) para evitar layout desatualizado apos deploy
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user