尝试按照说明进行操作 here在 Heroku 上设置 Django 实例。
Celery 的安装到此结束,进行到以下步骤:
$ python manage.py syncdb
当我收到以下错误时:
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
我相信我的 settings.py
文件在正确的位置 (project-name/project-name)
,我正在运行 django 1.4.3 ,但是当我尝试运行 manage.py diffsettings
时,我得到以下输出:
BROKER_BACKEND = 'django' ### DATABASES = {'default': {'ENGINE': 'django.db.backends.dummy', 'TEST_MIRROR': None, 'NAME': '', 'TEST_CHARSET': None, 'TIME_ZONE': 'UTC', 'TEST_COLLATION': None, 'PORT': '', 'HOST': '', 'USER': '', 'TEST_NAME': None, 'PASSWORD': '', 'OPTIONS': {}}}
完全不知道 django.db.backends.dummy
条目来自哪里,我的 settings.py
有 'ENGINE': 'django.db. backends.postgresql_psycopg2'
,我认为这是正确的条目,即使 Heroku 说明没有告诉您随时更新它。
我有什么想法需要在这里编辑吗?
最佳答案
我遇到了同样的问题。在 Heroku 文档中 https://devcenter.heroku.com/articles/django#prerequisites ,它说要将以下内容添加到 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}
这解决了我的问题。我希望它能帮助其他有类似问题的人。
关于python - ImproperlyConfigured ("settings.DATABASES is improperly configured. ") 尝试设置 Django 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795824/