我一直在努力解决这个问题,但根本没有解决方案。所以我在这里发布。
我正在尝试通过使用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。谢谢!
我是否需要创建数据库才能继续?我只想让网页有效。
答案 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。