【问题标题】:Heroku Django db postgres errorHeroku Django db postgres错误
【发布时间】:2013-05-01 08:31:20
【问题描述】:

我正在尝试启动我的第一个 django 应用程序,但我遇到了这个 db 错误:

OperationalError: could not connect to server: Connection refused
    Is the server running on host "localhost" and accepting
    TCP/IP connections on port 5432?

每当我尝试同步数据库、迁移或创建超级用户时都会发生这种情况

我正在配置我的 DATABASES 变量,例如:

DATABASES = {'default' : dj_database_url.config(default=os.environ["HEROKU_POSTGRESQL_OLIVE_URL"]) }

我还有什么需要配置或做错了吗?

编辑(已解决):

感谢您帮助我缩小问题范围,我找到了解决方案。

因为这是我第一次部署到 heroku,也是我第一次使用两个 scoops django 目录格式。我想做类似的事情

python manage.py syncdb # would be okay

而是因为我的设置文件夹看起来像

.../settings
    base.py
    local.py
    production.py
    demo.py
    # ...

我需要做的

python manage.py syncdb --app.settings.demo

【问题讨论】:

  • 您确定“HEROKU_POSTGRESQL_OLIVE_URL”已定义吗? Heroku 有几个数据库选项。

标签: python django heroku


【解决方案1】:

您的语法似乎是正确的,请在验证您提升了HEROKU_POSTGRESQL_OLIVE_URL 后尝试使用DATABASE_URL,尽管即使没有提升它也应该可以工作。

$ heroku pg:promote HEROKU_POSTGRESQL_OLIVE_URL

然后:

import dj_database_url

DATABASES = {
    'default': dj_database_url.config(default=os.getenv('DATABASE_URL'))
}

此设置应该可以正常工作。否则,请检查您是否正在使用正确的设置文件。您可以通过运行来验证这一点:

$ heroku run python manage.py shell

然后:

>>> from django.conf import settings
>>> print settings.DATABASES['default']

并验证结果。

【讨论】:

    【解决方案2】:

    我在 .gitignore 中有一个错误,我的本地设置被 Heroku 错误地设置了。

    这也会导致此错误消息消息。

    【讨论】:

      猜你喜欢
      • 2012-10-15
      • 2021-12-03
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2017-05-30
      • 2011-12-13
      相关资源
      最近更新 更多