无法在其Heroku postgres数据库上同步Django应用程序的数据库

时间:2014-07-22 02:54:00

标签: python django postgresql heroku

我尝试将我的postgres数据库迁移到Heroku以获取django应用程序。在我的settings.py文件中,我有以下内容,如Heroku教程所示:

import dj_database_url
DATABASES = {'default': dj_database_url.config()}

但是,当我运行heroku run python manage.py syncdb时,我收到以下错误:

django.db.utils.OperationalError: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

我错过了什么?提前谢谢!

2 个答案:

答案 0 :(得分:1)

事实证明问题是我在我的项目的设置文件夹中有另一个名为local.py的文件。树如下:

├── microblog
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings
│   │   ├── base.py
│   │   ├── base.pyc
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── local.py
│   │   └── local.pyc
│   ├── settings.pyc
│   ├── urls.py
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── Procfile
└── requirements.txt

由于我正在关注Django Tutorial入门,我在local.py文件中有以下内容:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'USER': '<user>',
        'PASSWORD': '<pwd>',
        'NAME': '<name>',
        'HOST': 'localhost',
    }
}

这导致了这个问题。我尝试将文件添加到我的.gitignore中,但这并不起作用。解决方案是实际评论这些线。

答案 1 :(得分:0)

我遇到了同样的问题。评论local_settings内容解决了这个问题。