Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试设置Django时出现配置不当(“settings.DATABASES配置不正确”错误_Python_Sql_Django_Heroku_Celery - Fatal编程技术网

Python 尝试设置Django时出现配置不当(“settings.DATABASES配置不正确”错误

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文件位于正确的位置(项目名称/项目名

正在尝试按照说明在Heroku上设置Django实例

至于芹菜的安装,请执行以下步骤:

$ 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。快乐编码!