Python 尝试设置Django时出现配置不当(“settings.DATABASES配置不正确”错误
正在尝试按照说明在Heroku上设置Django实例 至于芹菜的安装,请执行以下步骤:Python 尝试设置Django时出现配置不当(“settings.DATABASES配置不正确”错误,python,sql,django,heroku,celery,Python,Sql,Django,Heroku,Celery,正在尝试按照说明在Heroku上设置Django实例 至于芹菜的安装,请执行以下步骤: $ python manage.py syncdb 当我遇到以下错误时: raise配置不正确(“settings.DATABASES配置不正确 已配置。“django.core.exceptions.impropertlyconfigured: settings.DATABASES配置不正确。请提供引擎 值。有关详细信息,请查看设置文档 我相信我的settings.py文件位于正确的位置(项目名称/项目名
$ python manage.py syncdb
当我遇到以下错误时:
raise配置不正确(“settings.DATABASES配置不正确
已配置。“django.core.exceptions.impropertlyconfigured:
settings.DATABASES配置不正确。请提供引擎
值。有关详细信息,请查看设置文档
我相信我的settings.py
文件位于正确的位置(项目名称/项目名称)
,我正在运行django 1.4.3,但当我尝试运行manage.py diffsettings
时,我得到以下输出:
BROKER_BACKEND='django'.##DATABASES={'default':{'ENGINE':
'django.db.backends.dummy','TEST_MIRROR':无,'NAME':'',
“测试字符集”:无,“时区”:“UTC”,“测试排序规则”:无,
“端口”:“主机”:“用户”:“测试名称”:无,“密码”:”,
'选项':{}
绝对不知道django.db.backends.dummy
条目来自哪里,我的settings.py
有的“引擎”:“django.db.backends.postgresql\u psycopg2”
,我假设它是正确的条目,即使Heroku指令没有告诉您在任何时候更新它
您认为我需要在这里编辑什么吗?请尝试在您的settings.py中的数据库设置之后添加这些行
# Your Database setting.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
# Add these two lines.
import dj_database_url
DATABASES['default'] = dj_database_url.config(default='sqlite://db/sqlite3.db')
我遇到了同样的问题。在Heroku文档中,它说要将以下内容添加到
settings.py
:
DATABASES['default'] = dj_database_url.config()
您可以传入以下参数:
DATABASES['default'] = dj_database_url.config(default='postgres://user:pass@localhost/dbname')
这将允许您在本地和Heroku上进行开发。实际上解决了我遇到的问题的一部分是,DATABASE_URL的Heroku配置环境变量实际上没有设置。要设置它,我运行了
$ heroku config
我看到数据库URL分配给一个单独的配置变量。因此我创建了一个新变量:
$ heroko config:add DATABASE_URL={#the database url}
这解决了我的问题。我希望它能帮助其他有类似问题的人。非常感谢Chatri,因为你建议添加默认值sqlite://db/sqlite3.db'修复了问题。您的设置代码在哪里?事实上这很接近,我有
#import dj_database_url/#DATABASES['default']=dj_database_url.config()
在我的设置文件中,以及调用django.core.exceptions.incomperlyconfigured的setup\u loader()
调用django.core.exceptions.incomperlyconfigured:您需要在django设置文件中指定名称。错误。太好了!您知道在dj\u url\u config()中添加默认参数吗使您的设置在本地环境中可用?这样您就不必再为数据库设置费心了。快乐编码:)我如何确定您发布内容中的“数据库名”?您可以在->您的数据库->url显示下获取数据库url,然后您可以使用该url作为默认值。确保在进一步执行数据库操作之前运行python manage.py migrate
。@Rads感谢您的提醒。解决了我的问题我很高兴它帮了你Shashank。快乐编码!