ModuleNotFound错误Django和Heroku部署
我对Django和整个编程都是新手,我正在尝试将用Django开发的个人网站部署到heroku 我觉得我已经走到了最后一步,但有一个错误一直困扰着我,我无法靠自己或用文档来解决它 我的项目文件夹如下所示: 我的文件: 我的wsgi文件: 在heroku日志中,我得到以下信息:ModuleNotFound错误Django和Heroku部署,django,heroku,Django,Heroku,我对Django和整个编程都是新手,我正在尝试将用Django开发的个人网站部署到heroku 我觉得我已经走到了最后一步,但有一个错误一直困扰着我,我无法靠自己或用文档来解决它 我的项目文件夹如下所示: 我的文件: 我的wsgi文件: 在heroku日志中,我得到以下信息: 2020-01-04T15:45:47.211072+00:00 app[web.1]: ModuleNotFoundError: No module named 'blog' 有许多蓝线,但我认为这是一个有问题的
2020-01-04T15:45:47.211072+00:00 app[web.1]: ModuleNotFoundError: No module named 'blog'
有许多蓝线,但我认为这是一个有问题的(即无法从中找到设置文件)
如果不清楚,我还能提供什么
谢谢你的帮助
我欢迎任何问题
更新强>
因此,我将使用的数据库从SQLite3更新为PostgreSQL,但仍然出现服务器错误500
这是我的manage.py,我在其中放置了PostgreSQL:
当我执行manage.py runserver
时,应用程序会运行,但当heroku部署它时,它不会运行
heroku日志如下所示:
总结调查启动问题的过程。有两个问题: 1。本地开发和heroku上的生产项目布局不同,而代码库是为最高级别的mysite设置的,作为homepath,除了wsgi.py文件,这会导致花费额外的时间进行故障排除
.
├── Procfile <- web: gunicorn mysite.mysite.wsgi
├── mysite
│ ├── __init__.py
│ ├── blog
│ ├── db.sqlite3
│ ├── manage.py <- python manage.py runserver
│ ├── mysite
│ ├── static
│ ├── staticfiles
│ └── templates
├── requirements.txt
└── venv
--pythonpath:将目录添加到Python路径
web: gunicorn --pythonpath mysite mysite.wsgi
2.迁移。没有任何迁移应用操作
解决方案:
将发布阶段添加到Procfile,该文件将在每次部署应用程序时应用迁移:
release: cd mysite && python manage.py migrate
解决这两个问题后,应用程序启动并运行。嘿,伊万。首先,尝试修改您的Procfile:replace
web:gunicorn mysite.mysite.wsgi
为web:gunicorn mysite.wsgi
哦,不。。。我没有注意到应用程序在mysite中。如果您将mysite根文件夹内容移动到icc blog中,那么一切都会正常工作。您是否像python manage.py runserver
那样运行开发web服务器?如果是这样,则运行目录与gunicorn不同。最方便的方法是从同一文件夹运行两个Web服务器。但是gunicorn的--chdir参数可以帮助您解决这个问题。请尝试按如下方式修改程序文件:web:gunicorn--pythonpath mysite mysite.wsgi
最后它必须工作。是的,只需复制粘贴这一行,并保留一个空白。您能帮助研究类似的问题吗?这件事我被耽搁了好几天,没有任何进展。
release: cd mysite && python manage.py migrate