Обслуживание сжатых файлов django в производстве
При развертывании решения Django в рабочей среде я столкнулся с проблемой сжатых и скомпилированных статических файлов. У меня Django работает под обратным прокси-сервером Nginx, который также обслуживает статические файлы.
Некоторые файлы (особенно файлы js и css) не найдены, и я заметил, что это происходит из-за сжатия, включенного следующими настройками в settings.py
COMPRESS_ENABLED = True
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/less', 'lessc {infile} {outfile}'),
)
COMPRESS_JS_FILTERS = [
'compressor.filters.jsmin.JSMinFilter'
]
INSTALLED_APPS = (
# [..]
'compressor',
# [..]
)
Итак, каков наиболее правильный способ заморозить прекомпиляции и сжатия, чтобы развернуть их в производстве? Спасибо
2 ответа
Я полагаю, вы ищете способ сжать файлы на своем компьютере разработчика перед развертыванием:
./manage.py compress --force
Вы также должны установить COMPRESS_OFFLINE в настройках:
COMPRESS_OFFLINE = True
if 'compress' in sys.argv:
# compressor related settings when called as management command
TEMPLATE_DEBUG = False
COMPRESS_ENABLED = True
В дополнение к приведенному выше комментарию, может быть, стоит посмотреть на это
https://github.com/jezdez/django_compressor
Надеюсь это поможет.