在Django应用中的Heroku上编译SASS / SCSS文件

时间:2019-04-19 14:52:53

标签: django heroku sass static-files django-compressor

当在 Django 应用程序中的 Heroku 中将DEBUG设置为Falseunset时,出现错误我激活日志。

  

ValueError:“ css / sass / home.css”缺少静态文件清单条目

当我在 Heroku 上部署时,我的 SCSS 文件似乎未编译,而它使用 django-sass-processor 自动在本地编译。 / p>

1 个答案:

答案 0 :(得分:1)

似乎heroku跳过了编译scss文件的部分,并直接传递给了收集静态变量,这样:

第一步是禁止收集静态文件:

heroku config:set DISABLE_COLLECTSTATIC=1

第二步是运行后编译过程:

heroku run python manage.py compressscss

然后

heroku run python manage.py collectstatic --noinput 

这可以通过覆盖本文Link to a how to create postcompile file

中显示的python build pack的后编译来自动运行

使用以下命令在应用程序根目录的bin/post_compile中创建文件的地方

#!/usr/bin/env bash

cd "$1" || exit 1
python manage.py compilescss --traceback
python manage.py collectstatic --noinput --traceback

并推送到Heroku以应用更改。