数据库配置不正确rds postgres django

时间:2019-05-08 11:25:26

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

我已经将我的django应用程序部署在elasticbeanstalk上,但是当我与rds连接时显示此错误:

  

ImproperlyConfigured(“ settings.DATABASES配置不正确。”
  django.core.exceptions.ImproperlyConfigured:settings.DATABASES配置不正确。请提供引擎值。检查设置文档以了解更多详细信息。
  .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']
    }
}

没有缩进错误。

1 个答案:

答案 0 :(得分:0)

首先在环境的关键主机中设置主机的值,然后第一行应为:

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')
}

}