Django Heroku:Python:无法打开文件'manage.py':[Errno 2]没有那个文件或目录。

4
我正在Heroku上部署一个Django网站,我的项目名为mysite-project,它在根目录下包含manage.pyProcfile
当我运行 git push heroku master 后,我可以访问Heroku网站。
网站显示如下:

enter image description here

我认为我看不见任何内容(导航栏、初始页面等)是因为我没有运行 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上。 Procfile
web: gunicorn mysite-project.wsgi

你能解决这个问题吗?@Magofoco - Kavin Raju S
1
我没有使用Heroku,而是使用了DigitalOcean。 - Magofoco
6个回答

2
首先使用 heroku logs --source app --tail 命令确认构建是否成功。 如果构建成功,请确保您的项目位于 git repo 的根目录下。 我遇到了同样的问题,因为我的 Django 项目不在 git repo 的根目录下。 我的文件层次结构起初是这样的(假设项目名为 prototype,其中有一个名为 app 的 app)
├──git_repo
        ├──Procfile
        ├──requirements.txt
        ├──new_folder
                ├──prototype (folder)
                ├──app (folder)
                ├──.gitignore
                ├──manage.py
                ├──db.sqlite3

我将层次结构更改为以下内容,并且它可以正常工作
├──git_repo
        ├──Procfile
        ├──requirements.txt
        ├──prototype (folder)
        ├──app (folder)
        ├──.gitignore
        ├──manage.py
        ├──db.sqlite3


0

我也遇到了这个错误! 我通过指定路径解决了它:

python <your_project_name>/manage.py migrate

这对我有用。


0
在我的情况下,是因为我使用的分支名称不是master。我的分支名称是heroku_branch,所以为了使事情正常工作,我这样推送它。
git push heroku heroku_branch:master

这次被推送了,工作正常。


0

针对 Django + Heroku

web: python manage.py runserver 0.0.0.0:\$PORT

0

你所附上的截图显示你刚刚在Heroku上创建了应用程序,但是还没有将本地代码推送到Heroku应用程序中。

git push heroku master

0
当您访问该网站时看到的欢迎信息(以及在服务器上使用ls找不到manage.py的事实)告诉您,您尚未成功将Django项目推送到Heroku。请尝试运行git push heroku master
可能是推送失败了,如果是这样,您应该查阅文档。具体来说,请运行:
$ pip install gunicorn django-heroku
$ pip freeze > requirements.txt

...然后添加

import django_heroku
django_heroku.settings(locals())

将代码加到 settings.py 文件底部。同时不要忘记在 settings.py 中设置 STATIC_ROOT='staticfiles'

运行 git push heroku master 命令会得到什么结果?推送成功了吗? - andreashhp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接