Обслуживание сжатых файлов 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

Надеюсь это поможет.

Другие вопросы по тегам