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

Heroku应用名需与Django项目名一致吗?部署报错求助

问题分析与解决方案

你的猜测完全正确!

Heroku上的应用名shworkout只是平台用来标识你的应用的外部名称,和本地Django项目的内部结构没有半毛钱关系。Gunicorn会严格按照你在Procfile里写的路径去寻找WSGI模块——当你写shworkout.wsgi时,它会在代码目录里找名为shworkout的Python包(也就是带__init__.py的文件夹),但你的项目里实际只有workout目录下才有wsgi.py文件,所以必然会抛出ModuleNotFoundError。

解决步骤:

  1. 修改Procfile:把里面的shworkout.wsgi替换成workout.wsgi,最终Procfile内容应该是:
    web: gunicorn workout.wsgi --log-file -
    
  2. 本地验证(可选但推荐):在项目根目录(就是包含manage.py和workout文件夹的那个目录)里,执行gunicorn workout.wsgi命令,如果能正常启动服务,说明配置没问题。
  3. 重新部署:把修改后的Procfile提交到Git,再推送到Heroku即可。

另外额外提醒下:确保你的requirements.txt里已经包含了gunicorn和Django等必要依赖,Heroku构建环境时需要这些包来运行你的应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:11:17