Django Heroku没有名为'我的应用名称'

时间:2018-05-19 23:04:35

标签: django heroku wsgi

我试图将我的第一个Django应用程序部署到Heroku。我能够迁移数据库并创建一个超级用户,但现在我坚持这个:

[2018-05-19 22:51:01 +0000] [4] [INFO] Listening at: http://0.0.0.0:31247 (4)

2018-05-19T22:51:01.283512+00:00 app[web.1]: [2018-05-19 22:51:01 +0000] [4] [INFO] Using worker: sync

2018-05-19T22:51:01.287214+00:00 app[web.1]: [2018-05-19 22:51:01 +0000] [8] [INFO] Booting worker with pid: 8

2018-05-19T22:51:01.292792+00:00 app[web.1]: [2018-05-19 22:51:01 +0000] [8] [ERROR] Exception in worker process

2018-05-19T22:51:01.292795+00:00 app[web.1]: Traceback (most recent call last):

2018-05-19T22:51:01.292796+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker

2018-05-19T22:51:01.292797+00:00 app[web.1]:     worker.init_process()

2018-05-19T22:51:01.292798+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129, in init_process

2018-05-19T22:51:01.292800+00:00 app[web.1]:     self.load_wsgi()

2018-05-19T22:51:01.292801+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi

2018-05-19T22:51:01.292802+00:00 app[web.1]:     self.wsgi = self.app.wsgi()

2018-05-19T22:51:01.292803+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi

2018-05-19T22:51:01.292804+00:00 app[web.1]:     self.callable = self.load()

2018-05-19T22:51:01.292806+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load

2018-05-19T22:51:01.292807+00:00 app[web.1]:     return self.load_wsgiapp()

2018-05-19T22:51:01.292808+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp

2018-05-19T22:51:01.292809+00:00 app[web.1]:     return util.import_app(self.app_uri)

2018-05-19T22:51:01.292810+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app

2018-05-19T22:51:01.292811+00:00 app[web.1]:     __import__(module)

2018-05-19T22:51:01.292816+00:00 app[web.1]: ModuleNotFoundError: No module named 'whispering-shelf-25150'

2018-05-19T22:51:01.292905+00:00 app[web.1]: [2018-05-19 22:51:01 +0000] [8] [INFO] Worker exiting (pid: 8)

2018-05-19T22:51:01.329968+00:00 app[web.1]: [2018-05-19 22:51:01 +0000] [4] [INFO] Shutting down: Master

2018-05-19T22:51:01.330127+00:00 app[web.1]: [2018-05-19 22:51:01 +0000] [4] [INFO] Reason: Worker failed to boot.

2018-05-19T22:51:01.413026+00:00 heroku[web.1]: Process exited with status 3

2018-05-19T22:51:07.070132+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=whispering-shelf-25150.herokuapp.com request_id=4b10d0f1-939f-44b6-8ee0-b535cb07f8de fwd="185.5.121.201" dyno= connect= service= status=503 bytes= protocol=https

我使用在我的设置中使用mysite的一些教程开发了我的应用程序。但现在我的Heroku应用程序名为whispering-shelf-25150

这些名字之间有什么关系?例如,我应该将mysitesettings.py的每次出现更改为whispering-shelf-25150吗?

在我的wsgi文件中,我有:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "whispering-shelf-25150.settings.settings")

2 个答案:

答案 0 :(得分:0)

  

这些名字之间有什么关系?例如,我应该将mysitesettings.py的每次出现更改为whispering-shelf-25150吗?

您的Heroku应用程序的名称无关紧要。它与您的Python模块名称之间没有任何关系。

您的设置模块的名称必须与项目文件夹中的名称相匹配,并且顶级文件夹的名称无关紧要。

例如,如果您的目录树看起来像

  • project/←忽略这个
    • mysite/←包括这个
      • settings.py←包含此
    • some_app/
      • ...

您的设置模块为mysite.settings

答案 1 :(得分:0)

使用本指南它始终有效,此外还有一些独特的方法可以部署到heroku。 https://www.codingforentrepreneurs.com/blog/go-live-with-django-project-and-heroku/