Amazon Elastic Beanstalk中的Django Collectstatic无效

时间:2017-06-07 03:21:29

标签: python django amazon elastic-beanstalk django-staticfiles

我已经在亚马逊弹性豆茎中部署了我的Django应用程序。但是,django管理员中的css无法正常工作。我知道这是一个收集问题。这就是我的 settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'

我在 ebconfig.config 文件中有这一行:

container_commands:
  01_collectstatic:
    command: "python manage.py collectstatic --noinput"

然而,这是我在亚马逊部署后的样子: enter image description here 我试过在亚马逊控制台中查看日志文件。我发现了一行:

EmbeddedPostBuild/postbuild_0_dcape/Command 01_collectstatic] : Starting activity...
.....  
  0 static files copied to '/opt/python/bundle/33/app/static', 102 unmodified.

我需要做些什么来确保它有效?

1 个答案:

答案 0 :(得分:0)

我遇到相同问题的时间最长。似乎您必须告诉beantalk,您的静态文件夹在生产服务器上的位置。

在您的 ebconfig.config 中,在其中指定命令/ container_commands的位置添加选项设置,以便beantalk可以知道您的live_root在实时服务器上等同于什么。

这是我的方法:

settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

配置文件

option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: MDGOnline.settings
  "aws:elasticbeanstalk:container:python:staticfiles":
    "static/": "www/static/"

查看这个精彩的AWS Elastic Beanstalk Doc以获得更多详细信息