kustiktm_kirill
@kustiktm_kirill

Почему не работают статические файлы в Django при DEGUB = False?

После выключения режима отладки пропали все стили, картинки и т.д. В консоле разработчика висит 404 на каждом файле. Как это исправить?
  • Вопрос задан
  • 1642 просмотра
Решения вопроса 2
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
Почему не работают статические файлы в Django при DEGUB = False?

Потому что в коде django в части, которая обслуживает статику, находится примерно такой код:
def serve(request, path, insecure=False, **kwargs):
    """
    Serve static files below a given point in the directory structure or
    from locations inferred from the staticfiles finders.
    """
    if not settings.DEBUG and not insecure:
        raise Http404
...

Если вы это сделали на продакшеновом сайте - то необходимо настроить статику на вашем веб-сервере. Потому что обслуживание статики - это задача вашего веб-сервера.
Если вам нужно именно в отладочном режиме при DEBUG=False - то запускайте сервер с флагом runserver --insecure
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
В документации чёрным по белому написано, что обработка статики средствами Django - это очень медленно, небезопасно и допустимо к использованию только с dev-сервером в процессе разработки. В рабочем окружении статику должен обслуживать web-сервер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы