我尝试了一千个帖子,这对我没有任何作用......
提出不正确的配置(" settings.DATABASES不正确 配置。 " django.core.exceptions.ImproperlyConfigured: settings.DATABASES配置不正确。请提供发动机 值。检查设置文档以获取更多详细信息。
DATABASE_ENGINE =' django.db.backends.sqlite3'
DATABASE_NAME = os.path.join(BASE_DIR, 'db.sqlite3') DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = '' DATABASES = { 'default': { 'ENGINE': DATABASE_ENGINE, 'NAME': DATABASE_NAME, 'USER': DATABASE_USER, 'PASSWORD': DATABASE_PASSWORD, 'HOST': DATABASE_HOST, 'PORT': DATABASE_PORT, } }
我尝试重新卸载并再次安装Django,但没有任何改变。我的文件夹结构是
myproj >
manage.py
myproj >
settings.py
我没有任何其他设置文件......但是,当我这样做时
python manage.py diffsettings
我为数据库获得以下内容:
DATABASES = {'默认':{' AUTOCOMMIT':是的,'引擎': ' django.db.backends.dummy',' ATOMIC_REQUESTS':False,' NAME':'', ' CONN_MAX_AGE':0,' TIME_ZONE':' UTC',' PORT':'',' ;主持人':'','用户': '',' TEST':{' COLLATION':无,' CHARSET':无,' NAME':没有, ' MIRROR':无},' PASSWORD':'','选项':{}}}
所以ENGINE仍然是django.db.backends.dummy ...
有什么想法吗?感谢。
答案 0 :(得分:1)
所以我自己设法解决了,问题是我有
DATABASES['default'] = dj_database_url.config()
就在那里。因为我正在使用Heroku,所以我删除了这一行并且它工作了,现在最终的settings.py文件看起来像这样:
import dj_database_url
# Database
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases
if DEBUG:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
else:
DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}
部署时必须记住将DEBUG变量值更改为False。
答案 1 :(得分:0)
在更高版本中也会发生这种情况。 Django 2.2发生在我身上
基本上,发生这种情况是因为dj_database_url.config()
查找DATABASE_URL
,并且在找不到URL时默认使用伪引擎。