Я пытаюсь минимизировать и сжать свой css (а позже и js) и обслуживать его. С этой целью я сначала минимизирую и сжимаю его с помощью gulp, а затем обслуживаю сжатые файлы с помощью django-compressor (так что будет сделан только HTTP-запрос).
Я почти следовал этому руководству: http://www.revsys.com/blog/2014/oct/21/ultimate-front-end-development-setup/
Использование напрямую gzip-файлов работает хорошо, однако, когда я пытаюсь сгруппировать их с помощью django-compressor, я получаю следующую ошибку:
UncompressableFileError at /
UnicodeDecodeError while processing '..../static/mincss/filename.min.css.gz'
with charset utf-8-sig: 'utf8' codec
can't decode byte 0x8b in position 1: invalid start byte
Что соответствует тегу сжатия:
{% compress css %}
<link rel="stylesheet" href="{{ STATIC_URL }}mincss/filename.min.css.gz">
...more files
{% endcompress %}
Я на 99% уверен, что файлы, сгенерированные gzip, верны. Это us-ascii (подмножество utf-8) и они содержат файл *.min.css.
Мои соответствующие настройки (о которых я знаю) для этой проблемы такие же, как те, которые перечислены в руководстве. Единственная разница в том, что в руководстве он включает файлы css следующим образом:
{% compress css %}
<link rel="stylesheet" href="{% static "stylesheets/main.css" %}" />
<link rel="stylesheet" href="{% static "stylesheets/some-other.css" %}" />
{% endcompress %}
Но этот способ (хотя он и работает) не использует сжатые файлы, даже минимизированные. Что мне не хватает?