You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Django至Heroku遇静态文件清单缺失错误求助

解决Django部署Heroku时静态文件Manifest缺失错误

针对你遇到的ValueError: Missing staticfiles manifest entry for 'css/theme-style.css'问题,结合你的配置和场景,给出以下排查和修复步骤:

1. 修正STATIC_ROOT配置

你的STATIC_ROOT使用了绝对路径'/core/static/',这在本地和Heroku环境中都可能指向错误目录,导致collectstatic无法正确收集静态文件并生成manifest.json。

修改为基于项目根目录的相对路径:

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

staticfiles是Django收集静态文件的标准目标目录,若该目录不存在,collectstatic会自动创建。

2. 调整Whitenoise在INSTALLED_APPS中的位置

whitenoise.runserver_nostatic需要放在django.contrib.staticfiles之前,才能覆盖Django默认的静态文件服务行为,避免本地测试冲突:

INSTALLED_APPS = [
    'whitenoise.runserver_nostatic',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accounts',
    'core',
    'users',
    'widget_tweaks',
]

3. 重新收集静态文件

在本地执行以下命令,确保静态文件被正确收集并生成manifest:

python manage.py collectstatic --noinput

执行完成后,检查staticfiles目录下是否存在css/theme-style.css和staticfiles/manifest.json文件。

4. 本地测试验证

重新运行heroku local,查看是否还出现静态文件缺失错误。若问题解决,再重新部署到Heroku。

5. 可选:临时禁用Manifest存储排查

如果上述步骤仍未解决问题,可暂时替换静态文件存储类,去掉Manifest功能排查:

STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'

若此时错误消失,说明是Manifest生成过程出现问题,需检查collectstatic执行日志,确认所有静态文件都被正确收集。

内容的提问来源于stack exchange,提问作者Rafael Vinicius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:33:22