2012-06-20 18 views
6

Dieses Problem bezieht sich speziell auf eine Produktionsstätte mit Django Compressor. Ich möchte, dass dies funktioniert, wenn COMPRESS_OFFLINE = True ist, damit ich alle CSS-Dateien meiner Site vorkomprimieren kann, bevor ich in die Produktion gehe.Django Compressor Offline-Vererbung

Ich möchte, innerhalb base.html, tun das Äquivalent dieser:

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

so dass alle meine CSS-Blöcke in Dateien, die Basis erstrecken komprimiert werden. Dies ist hauptsächlich so, dass ich {% compress%} -Tags nicht zu allen meinen untergeordneten Vorlagen hinzufügen muss.

Es gibt einige ähnliche Probleme in Stack Overflow, aber ich habe keine gute Lösung gefunden, um dies offline zu komprimieren (d. H. Mit dem Komprimierungsverwaltungsbefehl von Django Compressor). Die umgebenden Komprimierungstags funktionieren einwandfrei, wenn COMPRESS_OFFLINE = False ist. Hat jemand einen Weg gefunden, diese Arbeit offline zu machen?

Ich listet ein paar ähnliche Threads auf, die sich auf Nicht-Offline-Lösungen beziehen. Die Links in den zweiten Thread zeigen, dass es haben mit Vererbung letzten Ausgaben gewesen, wenn sie mit Django Compressor offline arbeiten, aber vielleicht haben sie gelöst worden:

Django-compressor and template inheritance

Does django-compressor work with template inheritance?

Antwort

0

Sie verwenden Kompresse offline tun müssen für die Technik, um zu arbeiten, aber solange Sie Caching richtig eingerichtet haben, wird Django-Kompressor nicht bei jeder Anfrage neu komprimieren, wenn die Ressourcen nicht geändert wurden.

Ich habe diese Technik verwendet, um Benutzern zu erlauben, lesscss zu verwenden, um das Aufstellungsortthema zu erweitern und unsere mixins etc. zu verwenden. Es ist ein wenig wonky, um zu arbeiten aber (in meiner Erfahrung bis jetzt) ​​ist es vollkommen stabil, wenn es richtig konfiguriert wird führt keine wesentliche Latenzzeit ein, sobald es beim ersten Mal komprimiert wurde.

Sie können einen Dienst wie pingdom, blamestella oder new relic eingerichtet, um verschiedene Seiten zu treffen die komprimierten Assets sind immer im Cache (sie überwachen uptime, aber die Arbeit für diese als auch), um sicherzustellen,

Verwandte Themen