我正在尝试将我的Django项目推送到Heroku时遇到错误,我正在寻找是否有人有任何见解。
! Heroku push rejected, no Cedar-supported app detected
我猜这是因为我在git repo中的文件夹结构,但我不确定。我的项目设置如下:
/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然后再次运行它,它想要重新设置所有内容。关于我可能配置错误的任何想法使DB不能保存它的数据?我应该从仪表板使用DB的设置还是将此行保留在Django配置中:
import dj_database_url
DATABASES['default'] = dj_database_url.config()
由于
答案 0 :(得分:1)
您需要在repo的根目录中使用requirements.txt或setup.py。
请参阅https://github.com/heroku/heroku-buildpack-python/blob/master/bin/detect