Heroku 和白噪声的静态文件错误 - 运行收集静态



我将一个 Django 应用程序重新部署到 heroku,现在遇到静态文件问题:

ValueError: Missing staticfiles manifest entry for 'css/styles.min.css'

升级 boto 时出现错误(仅用于媒体文件,不用于静态文件)。所以在 heroku 上关闭了收集静态:

heroku config:set DEBUG_COLLECTSTATIC=1

修复错误后,我手动运行:

heroku run python manage.py collectstatic --noinput

要处理输出没有问题的静态文件,请执行以下操作: 239 static files copied to '/app/staticfiles', 263 post-processed

包括: Post-processed 'css/styles.min.css' as 'css/styles.min.f0168a3a1535.css'

我引用导致基本模板中错误的文件: <link href="{% static 'css/styles.min.css' %}" rel="stylesheet" id="theme-style">

我在制作设置下对 heroku 使用白噪声:

WHITENOISE_MIDDLEWARE = ('whitenoise.middleware.WhiteNoiseMiddleware', ) MIDDLEWARE = WHITENOISE_MIDDLEWARE + MIDDLEWARE WHITENOISE_MAX_AGE = 60 * 60 * 24 * 365 * 10 # 10 yrs STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

并在要求中whitenoise==3.3.1

我不清楚是什么

导致了这个问题,也不清楚如何最好地解决,因为我已经检查了我能想到的一切。

使用 heroku run 运行collectstatic不会以您期望的方式工作。每个heroku run命令都在自己的容器中运行,一旦命令完成,对文件系统所做的任何更改都将被丢弃。

您需要重新启用 collectstatic 并将项目的新版本推送到 Heroku,以便重新构建它。

最新更新