DATABASES 配置不正确 rds postgres django
Posted
技术标签:
【中文标题】DATABASES 配置不正确 rds postgres django【英文标题】:DATABASES is improperly configured rds postgres django 【发布时间】:2019-09-26 02:59:56 【问题描述】:我在 elasticbeanstalk 上部署了我的 django 应用,但是当我连接 rds 时显示此错误:
ImproperlyConfigured("settings.DATABASES 配置不正确。" django.core.exceptions.ImproperlyConfigured:settings.DATABASES 配置不正确。请提供 ENGINE 值。有关更多详细信息,请查看设置文档。 .ebextensions/django.config 中的 container_command 01_migrate 失败。有关更多详细信息,请使用控制台或 EB CLI 检查 /var/log/eb-activity.log。
这是我的设置:
if 'aam9tdmg0cwj1k.cugucrimdqma.ap-south-1.rds.amazonaws.com' in os.environ:
DATABASES =
'default':
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ['aam9tdmg0cwj1k'],
'USER': os.environ['liveimage'],
'PASSWORD': os.environ['liveimage123'],
'HOST': os.environ['aam9tdmg0cwj1k.cugucrimdqma.ap-south-1.rds.amazonaws.com'],
'PORT': os.environ['5432']
没有缩进错误。
【问题讨论】:
我想你误解了什么是字典。这些值都不是os.environ
字典中的键。
【参考方案1】:
首先在环境的关键 HOST 中设置主机的值,然后你的第一行应该是这样的:
if os.environ.get('HOST',None) == 'aam9tdmg0cwj1k.cugucrimdqma.ap-south-1.rds.amazonaws.com':
如果您不想设置环境变量,请提供默认值,例如:
import environ
env = environ.Env()
DATABASES =
'default':
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': env('DB_NAME', default='aam9tdmg0cwj1k'),
'USER': env('DB_USER', default='liveimage'),
'PASSWORD': env('DB_PASSWORD', default='liveimage123'),
'HOST': env('DB_HOST', default='aam9tdmg0cwj1k.cugucrimdqma.ap-south-1.rds.amazonaws.com'),
'PORT': env('DB_PORT', default='5432')
【讨论】:
以上是关于DATABASES 配置不正确 rds postgres django的主要内容,如果未能解决你的问题,请参考以下文章
安装 Graphite 时出现 Django 错误 - settings.DATABASES 配置不正确。请提供 ENGINE 值
Heroku 上带有 Postgresql 的 Django - settings.DATABASES 配置不正确。请提供名称值
PostGIS 版本阻止了 Amazon RDS 上的 PostgreSQL 升级