设置数据库:在heroku中的django 1.8中的postgresql

时间:2015-07-21 21:24:27

标签: django postgresql heroku

我一直在努力解决这个问题,但根本没有解决方案。所以我在这里发布。

我正在尝试通过使用Python 3.4.3的Django 1.8在Heroku中建立一个博客网站。我按照Heroku网站here的说明进行操作。

我使用"工头开始"在我的Mac上运行Django项目,我已经安装了所有依赖项。

涉及数据库的setup.py文件的一部分最初如下所示:

ReportBatch

然后我收到错误:/settings中的配置不正确.DATABASES配置不正确。请提供ENGINE值。

然后我通过添加一行提供ENGINE值来修改文件:

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

根据Or Arbel回答的this post,它应该有效。但是我得到了另一个错误:/settings.DATABASES配置不正确,配置不正确。请提供NAME值。

接下来我该怎么办?实际上我的Django项目非常简单,不涉及任何数据库操作(将来可能需要)。我只想让它适用于Heroku。谢谢!

我是否需要创建数据库才能继续?我只想让网页有效。

2 个答案:

答案 0 :(得分:1)

感谢你们的帮助,特别是souldeux。

更新

我通过提供有关数据库的更多信息,使用souldeux的方法解决了这个问题。在这里,我想强调的是,似乎原始Heroku教程中的代码不适用于Django 1.8:

import dj_database_url   ####not working for my case
DATABASES = {}
DATABASES['default'] = dj_database_url.config()

最初我没有创建数据库,因为根据我从Heroku教程中获得的理解,我认为对于简单项目来说并不是必需的。实际上它确实需要在Heroku中创建一个数据库以使其工作。教程是here。您需要运行“heroku config -s | grep HEROKU_POSTGRESQL”来获取数据库信息。格式如下:

scheme://username:password@host:port/database

所以你可以得到'数据库','用户名','密码'等等。

然后,根据souldeux修改'settings.py',然后运行以下代码:

git add .
git commit -m "Ready to go to Heroku"
git push heroku master
heroku run python manage.py syncdb

现在它有效。但其他问题出现,就像我的网页没有显示图像......无论如何它解决了。请确认我的解决方案,谢谢。

答案 1 :(得分:0)

我认为您需要向数据库定义添加更多信息。例如,这是我自己的数据库条目在我的settings.py中的样子:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'django',
        'USER': 'redacted',
        'PASSWORD': 'redacted',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

如果您没有在标记为编辑的字段中输入数据库用户和密码,则需要确保已创建实际数据库并安装了psycopg2。