2012-06-20 6 views
6

Questo problema riguarda specificamente un sito di produzione che utilizza Django Compressor. Voglio che funzioni quando COMPRESS_OFFLINE = True in modo da poter pre-comprimere tutti i file css del mio sito prima di passare alla produzione.Django Compressor Offline Eredità

Vorrei, entro base.html, fare l'equivalente di questo:

{% compress %} 
    {% block css %} 
    {% endblock %} 
{% endcompress %} 

in modo che tutti i miei blocchi CSS in file che si estendono di base sono compressi. Questo è principalmente il motivo per cui non devo aggiungere i tag {% compress%} a tutti i miei modelli figlio.

Ci sono diversi problemi simili su Stack Overflow, ma non ho trovato una buona soluzione per fare ciò durante la compressione offline (cioè con il comando di compressione compress di Django Compressor). I tag di compressione circostanti funzionano correttamente quando COMPRESS_OFFLINE = False. Qualcuno ha trovato un modo per rendere questo lavoro offline?

Sto elencando alcuni thread simili che sembrano appartenere a soluzioni non offline. I collegamenti nel secondo thread indicare che ci sono stati problemi passati con l'ereditarietà quando si lavora con Django compressore offline ma forse sono stati risolti:

Django-compressor and template inheritance

Does django-compressor work with template inheritance?

risposta

0

Si ha che fare offline uso impacco per questo tecnica per funzionare, ma fino a quando il caching è impostato correttamente, django-compressor non si comprimerà nuovamente su ogni richiesta a meno che le risorse non siano state modificate.

Ho usato questa tecnica per consentire agli utenti di utilizzare lesscss di estendere il tema del sito e utilizzare le nostre mixins, ecc E 'un po' traballante per ottenere lavoro, ma (nella mia esperienza finora) è perfettamente stabile quando configurato correttamente, e non introduce una sostanziale richiesta di latenza una volta compressa per la prima volta.

È possibile impostare un servizio come pingdom, blamestella, o new relic a colpire numerose pagine per garantire i beni compressi sono sempre nella cache (che controllano per i tempi di attività, ma il lavoro per questo così)