Сервер Divio Live не обслуживает статические файлы, когда DEBUG = False - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть веб-сайт в Divio Cloud. Мой тестовый сервер нормально обрабатывает статические файлы, но мой Live-сервер выдает 404. Когда я переключаю DEBUG на True на сервере Live, он начинает нормально обслуживать статические файлы.

Когда сервер Live запускается, он имеет это в журнале:

[uwsgi-static] added mapping for /static/ => /app/static_collected

Разве это не должно заботиться о правильной обработке статических файлов?

- edit-- Больше информации. У меня фактически не было никаких "нормальных" статических файлов. Я добавил статический файл, используя {% static%}, и он работает! Файлы, которые не работают, собираются с помощью django-sass-processor и django-compressor. У меня в settings.py:

STATICFILES_FINDERS.extend([
    'compressor.finders.CompressorFinder',
    ])

Разве это не должно влиять только при сборе файлов?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Для дальнейшего использования:

В среде Divio, чтобы заставить работать процессоры на основе компрессора (в данном случае это был django-sass-процессор), добавьте что-то вроде следующего в конце файла Docker:

 RUN DJANGO_MODE=build python manage.py compilescss

# <STATIC> 
RUN DJANGO_MODE=build python manage.py collectstatic --noinput
# </STATIC>

# Remove the css files in development environments (in Live they
# are already collected)
RUN DJANGO_MODE=build python manage.py compilescss --delete-files
0 голосов
/ 08 ноября 2018

Я думаю, что проблема, скорее всего, в том, что вы используете Django Compressor. Существуют различные способы использования Django Compressor.

В документации см. Сжатие в автономном режиме . Это то, что вам нужно для работы в Divio Cloud.

...