MIME-тип ('text/html') не является поддерживаемым MIME-типом таблицы стилей с react-django heroku deploy

При развертывании django+react на Heroku я получаю ошибку "MIME type ('text/html') is not a supported stylesheet MIME type". В основном это происходит потому, что django не может найти staticfiles из react.

Установка staticfiles dir в settings.py должна была решить проблему, но не решила:

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'build/static'),
)

Я решил создать этот вопрос с самостоятельным ответом, потому что я провел очень долгий и разочаровывающий день, решая эту проблему, поскольку я не нашел правильного решения нигде в Интернете.

Что я сделал неправильно в своем развертывании, так это неправильно установил buildpacks при настройке проекта для heroku. Не будьте мной и сразу же отправляйтесь на StackOverflow и найдите решение там.

Для корректного обслуживания статических файлов очевидно, что python и collectstatic должны запускаться после npm build из react. Таким образом добавьте python buildpack после nodejs в Heroku:

heroku buildpacks:add --index 1 heroku/nodejs
heroku buildpacks:add --index 2 heroku/python
Вернуться на верх