#django #heroku #sass #static-files #django-compressor
#django #heroku #sass #статические файлы #django-компрессор
Вопрос:
Я получаю сообщение об ошибке, когда DEBUG
установлено значение False
или unset
в Heroku, в приложении Django, когда я активирую журналы.
Ошибка ValueError: отсутствует запись манифеста staticfiles для ‘css /sass/home.css’
Кажется, что мои файлы SCSS не компилируются при развертывании на Heroku, в то время как они автоматически компилируются локально с помощью django-sass-processor
Ответ №1:
Похоже, что heroku пропускает часть компиляции файлов scss и переходит непосредственно к сбору статики, поэтому:
1-м шагом было отключить сбор статических файлов:
heroku config:set DISABLE_COLLECTSTATIC=1
2-й шаг — запустить процесс посткомпиляции:
heroku run python manage.py compressscss
а потом
heroku run python manage.py collectstatic --noinput
Это может быть запущено автоматически путем переопределения пакета сборки python после компиляции, показанного здесь в this post Ссылка на как создать файл postcompile
Где вы создаете файл bin/post_compile
в корневом каталоге приложения с помощью:
#!/usr/bin/env bash
cd "$1" || exit 1
python manage.py compilescss --traceback
python manage.py collectstatic --noinput --traceback
И нажмите на Heroku, чтобы применить изменения.