如何配置settings.DATABASES?
./manage.py syncdb 显示了一些错误
(ENV)vijay@vijay-Ideapad-Z570:~/nightybuild/heroku-landing$ ./manage.py syncdb
配置错误:settings.DATABASES 配置不正确。请提供 ENGINE 的值。有关更多详细信息,请查看设置文档。
(ENV)vijay@vijay-Ideapad-Z570:~/nightybuild/heroku-landing$
在我的 settings.py 文件中
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # 这里需要添加 'postgresql_psycopg2'、'mysql'、'sqlite3' 或 'oracle'。
'NAME': '', # 如果使用 sqlite3,可以在这里填写数据库文件的路径。
# 以下设置在使用 sqlite3 时不需要:
'USER': '',
'PASSWORD': '',
'HOST': '', # 如果是本地使用,可以留空,或者用 '127.0.0.1'。
'PORT': '', # 留空表示使用默认端口。
}
但是我的应用在 Heroku 上运行得很好。当我部署时,它会自动配置 Heroku 的 Postgres 数据库。但在本地开发时却出现了这个错误。
你能告诉我怎么在本地设置数据库吗?
1 个回答
你在用什么类型的数据库呢?是Postgres、MySQL还是SQLite?这个信息会成为你的 ENGINE
值。
另外,你的本地Postgres用户名和密码是什么?还有你的数据库名称呢?
下面是一个例子,使用的是一个名为 testdb 的 postgres 数据库,用户名是 myusername,密码是 mypassword:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'testdb',
'USER': 'myusername',
'PASSWORD': 'mypassword',
'HOST': '',
'PORT': '',
}
你可能需要根据自己的需求进行调整。最大的变化可能是你的 ENGINE
值。如果你使用的是MySQL,就把 postgresql_psycopg2
改成 mysql
;如果是SQLite,就改成 sqlite
。另外,如果你使用SQLite,就不需要填写 USER
和 PASSWORD
的值。