You need to enable JavaScript to run this app. Heroku部署Django应用时Procfile存放位置及运行报错问题求解
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署Django应用时Procfile存放位置及运行报错问题求解

问题解决步骤

1. 确定Procfile的正确位置

Procfile必须存放在Git仓库的根目录,也就是你当前放Procfile1的位置(和readME.md、外层coding_site文件夹同级),文件名必须为Procfile(无数字后缀、首字母大写、无文件扩展名)。
你之前使用Procfile2时出现H14报错的原因就是Heroku在仓库根目录找不到合法的Procfile,无法识别web进程配置。

2. 修正配置解决H10报错

你用根目录Procfile时出现的ModuleNotFoundError: No module named 'coding_site.settings'报错,是因为Django默认的配置模块路径和实际目录结构不匹配,两种可行解决方法二选一即可:

方法1:修改wsgi.py的默认配置模块路径

找到内层coding_site文件夹下的wsgi.py,将默认配置项:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "coding_site.settings")

修改为:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "coding_site.coding_site.settings")

根目录的Procfile内容保留你之前Procfile1的内容即可:

web: gunicorn coding_site.coding_site.wsgi --log-file -

方法2:在Procfile中指定Python导入路径

如果你不想修改wsgi.py的配置,可以直接在根目录Procfile中添加--pythonpath参数指定外层coding_site目录为Python导入根目录,Procfile内容修改为:

web: gunicorn --pythonpath coding_site coding_site.wsgi --log-file -

3. 验证修复效果

修改完成后重新提交代码推送到Heroku,执行heroku ps:scale web=1确保web进程正常启动,再访问应用即可。

内容的提问来源于stack exchange,提问作者Jaya Shankar B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 08:06:02