2013-09-03 3 views
0

Так что у меня хитрая проблема, что я не в состоянии найти лучшее решение для.Лучший способ для развертывания сжатых активов - Джанго Компрессор

Я использую django-compressor, который делает большую работу сжатия/Минимизация файлов. Проблема, с которой я столкнулся, - во время развертывания. В течение некоторого времени я использовал только тег compress, и я просто делаю завиток на всех страницах, чтобы убедиться, что он восстанавливает правильный CSS/JS. Таким образом, новым пользователям не нужно ощущать основную тяжесть процесса сжатия.

Я знаю, что у него есть команда управления, что он может предварительно сжать файлы, которые затем могут быть перенесены на CDN и, возможно, предварительно загружать их за кулисами на страницах посадки/входа.

Вот проблема, в некоторых из яваскрипта кода, я использую контекст VARS и Джанго теги [как пользовательские и родные].

var first = '{% some_tag some_context_var %}'; 
var name = '{{some_context_var}}'; 

Это вызывает ошибку, так как во время сжатия он пытается выполнить этот тег, который, очевидно, не имеет значений. Он поставляется с COMPRESS_OFFLINE_CONTEXT, но его не динамический.

ли кто-либо столкнулись с такой проблемой раньше. Как вы выполняете сжатие, если код смешан с некоторыми тегами django/переменными контекста?

ответ

0

Найден способ решить эту проблему.

В основном переместил переменные в свои собственные блоки подлинника вне компрессора, а затем использовать эти переменные в коде сжатия. например

<script type="text/javascript"> 
    var some_var = '{% something ctx_var %}'; 
</script> 

{% compress js %} 
    //before it was do_something_function('{% something ctx_var %}') 
    do_something_function(some_var);