【问题标题】:DATABASES is improperly configured rds postgres djangoDATABASES 配置不正确 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 字典中的键。

标签: django postgresql amazon-rds amazon-elastic-beanstalk


【解决方案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')
}

}

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 2016-02-20
    • 2021-07-24
    • 2021-03-25
    • 2015-05-10
    • 2012-06-30
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多