AWS Elastic Beanstalk上的Django应用程序 - DJANGO_SETTINGS_MODULE

时间:2017-03-17 07:04:27

标签: python django elastic-beanstalk

应该在哪里设置DJANGO_SETTINGS_MODULE环境变量?

多个可能的位置:

  • 在配置文件(.ebextensions)中,如下所示:

    option_settings:aws:elasticbeanstalk:application:environment: DJANGO_SETTINGS_MODULE:" app.settings"

  • 在加载应用程序之前的wsgi.py文件中

  • manage.py(我也在网上的不同Django项目中看到这个)

如果我未在wsgi.py中指定,则看起来根本无法找到它。因此,我想知道.ebextensions中设置的环境变量是否在加载wsgi.py之前设置。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

wsgi.py

的配置文件中介绍您的.ebextensions

django_aws_eb.config:

option_settings:
    aws:elasticbeanstalk:container:python:
        WSGIPath: "my_site/wsgi.py"

在你的`wsgi.py'文件中指定你的DJANGO_SETTING_MODULE

import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_site.settings")
application = get_wsgi_application()

aws beanstalk首先在.ebextension中查找配置,然后找到wsgi.py然后找到设置。

更多信息:Configure Your Django Application for Elastic Beanstalk