Utilizzo il compressore Django per gestire il mio caffè/meno file ed è ottimo per lo sviluppo, ma ho avuto alcuni problemi per farlo funzionare per la mia implementazione di produzione.Come usare django-compressor con apache?
La mia idea è di avere apache per ospitare i file statici, possibilmente in un altro server. Sto impostando COMPRESS_OFFLINE = True
sul file settings.py
.
poi faccio la seguente
python manage.py compress
- Questo popola la directoryCACHE
nel miostatic
directory, in cui saranno raccolti tutti i file statici.python manage.py collectstatic
- Raccoglie file statici da tutte le app del mio progetto (alcuni dei quali non utilizzano il compressore) nella mia directorystatic
.- Copia la directory
static
da qualche parte per essere ospitata con apache. E imposta apache per servire i file. - Modificare la variabile
static_url
nel filesettings.py
in modo che punti al server statico.
Se apro qualsiasi pagina, ottengo il seguente errore sul mio server, questo sembra accadere solo quando ho DEBUG = False
e COMPRESS_OFFLINE = True
sul mio settings.py
lima:
TemplateSyntaxError: Caught OfflineGenerationError while rendering: You have offline compression enabled but key "777ba26736d046ab043dc151e7e9a060" is missing from offline manifest. You may need to run "python manage.py compress".
Quando controllo la directory static/CACHE
, confermo quello che dice l'errore, questo è il mio manifest.json
di file:
{
"6189b8598993d1cbdbd35d4dfd1a6711": "<script type=\"text/javascript\" src=\"http://192.168.1.123/CACHE/js/2f6ca6616bd6.js\"></script>",
"5c66dbed0e5b766c6e32773cd8585f3c": "<link rel=\"stylesheet\" href=\"http://192.168.1.123/CACHE/css/154d95903951.css\" type=\"text/css\" />"
}
Se cancello la directory di cache e rieseguire 012.343., ottengo un nuovo set di ID sia sul messaggio di errore che sul file manifest, ma l'ID sull'errore è ancora mancante sul manifest.
Quindi, immagino ci siano due domande qui. Perché non funziona? Qual è il modo corretto per raggiungere questo obiettivo?
Grazie.
Avete trovato il finder del compressore in 'STATICFILES_FINDERS' nelle impostazioni? – ilvar
Si prega di mostrare il codice del modello in cui si utilizza il tag '{% comprimere%}', questo aiuterebbe a eseguire il debug di 'TemplateSyntaxError' :) – vdboor