Skip to main content
 首页 » 编程设计

python之Django Heroku 推送失败

2025年05月04日25www_RR

我在尝试将我的 Django 项目推送到 Heroku 时遇到错误,我想看看是否有人有任何见解。

 !     Heroku push rejected, no Cedar-supported app detected 

我猜这是因为我在 git 存储库中的文件夹结构,但我不确定。我的项目是这样设置的:

/subfolder/djangoproject/ 
 
/subfolder/requirements.txt 

我的 Proc 文件内容如下所示:

web: python manage.py runserver 0.0.0.0:$PORT --noreload --settings=djangoproject.settings.heroku 

我有我的项目设置拆分,它们在我的本地工作正常。 (换句话说,我有一个设置目录,里面有一个 init.py。)

我试过这个:

/Procfile 

还有这个:

/subfolder/Procfile 

但都没有用。

这个文件夹结构会是罪魁祸首吗?我的印象是 requirements.txt 是 Heroku 找到项目文件夹所在位置的方式。

谢谢


我想添加我遇到的第一个问题的解决方案,然后发布我遇到的新问题。

我首先做的解决方案是将 Procfile 和 requirements.txt 文件移动到项目的根级别。我做的第二件事是编辑 Procfile,使 manage.py 脚本的路径位于正确的位置

web: python subfolder/djangoproject/manage.py runserver 0.0.0.0:$PORT --noreload --settings=djangoproject.settings.heroku 

我在尝试运行 syncdb 时遇到了一个新错误。它似乎经历了这个过程,但没有任何需要。换句话说,如果我运行一次 syncdb 然后再运行一次,它想要重新设置所有内容。关于我可能配置错误以使数据库不保存其数据的任何想法?我应该使用仪表板中的数据库设置还是将此行保留在 Django 配置中:

import dj_database_url 
DATABASES['default'] =  dj_database_url.config() 

谢谢

请您参考如下方法:

您需要 requirements.txt 或 setup.py 在 repo 的根目录中。

参见 https://github.com/heroku/heroku-buildpack-python/blob/master/bin/detect