我正在Heroku上部署一个Django网站。我的项目名为mysite-project,它的根目录包含manage.py
和Procfile
运行git push heroku master
后,我可以访问heroku网站。
网站显示:
我假设我没有看到任何东西(导航栏、初始页面等),因为我没有运行migrate。
如果我这样做:
heroku run python manage.py migrate
我得到的错误:
python:无法打开文件“manage.py”:[Errno 2]没有这样的文件或目录
这是没有意义的,因为我在正确的目录。
事实上:
- 我可以运行
python manage.py runserver
和本地主机 git ls-files manage.py
--输出--〉manage.py
"但是...“
如果我这样做:
heroku run bash
ls manage.py
我得到:
ls:无法访问“manage.py”:没有这样的文件或目录manage.py
似乎在我的本地,但不在我的heroku。
过程文件
web: gunicorn mysite-project.wsgi
6条答案
按热度按时间tyky79it1#
首先使用
heroku logs --source app --tail
来确保Build successful。如果构建成功,请确保您的项目位于git存储库的根目录下。我也遇到过同样的问题,因为我的Django项目并不在git存储库的根目录下。我的文件层次结构首先是这样的(假设项目原型的名称是app,它有一个名为app的应用程序)指令──过程文件
──要求.txt
新建文件夹
原型(文件夹)
应用程序(文件夹)
- -------------------
- -管理. py
数据库sqlite3
我将层次结构更改为以下内容,并且它起作用了
指令──过程文件
──要求.txt
原型(文件夹)
应用程序(文件夹)
- -------------------
- -管理. py
数据库sqlite3
0yycz8jy2#
当你访问这个站点时,你看到的欢迎词(以及你在服务器上找不到
ls
的事实)告诉你,你还没有成功地将你的django项目推送到Heroku。这可能是因为推送失败,在这种情况下,您应该查询documentation。
...然后添加
...到
settings.py
的底部。同时不要忘记在settings.py
中设置STATIC_ROOT='staticfiles'
。suzh9iv83#
所附的屏幕截图表明您刚刚在heroku中创建了应用程序,但没有将本地存储库代码推送到heroku应用程序。
wh6knrhe4#
我也遇到了这个错误!我通过指定路径解决了它:
这对我很有效。
ttvkxqim5#
在我的例子中,这是因为我使用的分支名称不是
master
。我的分支名称是heroku_branch
,所以为了使它正常工作,我将它按如下方式推这次被推了一下,工作正常。
u7up0aaq6#
为了 Django +希鲁库