Fondamentalmente, l'hash sul file busting della cache non si sta aggiornando.Django pipeline Cache Busting non sta aggiornando il file cache/hash
class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage):
pass
PIPELINE_JS = {
'main.js': {
'output_filename': 'js/main.min.js',
'source_filenames': [
'js/external/underscore.js',
'js/external/backbone-1.0.0.js',
'js/external/bootstrap-2.2.0.min.js',
]
}
}
Quando ho fatto funzionare l'ordine collectstatic
, correttamente creato una cache file denominato "main.min.d25bdd71759d.js
Ora, quando faccio funzionare l'ordine busting, tuttavia, non riesce a sovrascrivere il file memorizzato nella cache (e aggiornare il hash) durante la fase di processo di post.
si continua l'aggiornamento "main.min.js
", in modo tale che main.min.js
è in corso con il mio file system. Un nuovo file nella cache, tuttavia, non viene creata. mantiene la stessa vecchia hash anche qualora il sottostante main.min.j
s il file è stato modificato.
Quando ho eliminare manualmente il file memorizzato nella cache su AWS, ricevo il seguente messaggio di esecuzione collectstatic
con verbosità impostato a 3:
Post-processed 'js/main.min.js' as 'js/main.min.d25bdd71759d.js
settings.DEBUG
è impostato su False
Perché non sarà l'hash aggiornare?
Vogliate Mostra le impostazioni relative: PIPELINE_ENABLED, STATICFILES_STORAGE, STATICFILES_FINDERS – krasnoperov
si può fare in modo che i main.min.js è diverso da quello precedente? L'hash non cambierà se non ci sono cambiamenti nel file stesso. Sembra che tu stia includendo solo le librerie in main.js, che non dovresti modificare, ecco perché le sto chiedendo. –
Hai menzionato la tua memoria utente AWS (suppongo boto). Puoi verificare se il problema si riproduce ancora se si esegue il pipeline statico alla cartella locale (non a AWS). Suppongo che sia molto probabilmente un problema di boto. –