使用docker和aws eb部署django时如何处理静态文件

使用docker和aws eb部署django时如何处理静态文件,django,docker,deployment,Django,Docker,Deployment,我使用Django、Docker和AWS Elastic Beanstalk来使用我的网站。我遵照的指示。 当我尝试加载静态文件时遇到问题,浏览器尝试访问mysite.com/static/css/xx.css以获取css和javascipt文件,这与我在本地运行的文件不同。 在settings.py中: STATIC_URL = '/static/' STATIC_ROOT = 'static' STATICFILES_DIRS = ( os.path.join(BASE_DIR, "

我使用Django、Docker和AWS Elastic Beanstalk来使用我的网站。我遵照的指示。
当我尝试加载静态文件时遇到问题,浏览器尝试访问mysite.com/static/css/xx.css以获取css和javascipt文件,这与我在本地运行的文件不同。
在settings.py中:

STATIC_URL = '/static/'
STATIC_ROOT = 'static'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)
我还使用了:

# !/bin/sh
cd /var/projects/mysite && python manage.py migrate --noinput && python manage.py collectstatic --noinput
supervisord -n -c /etc/supervisor/supervisord.conf

目前,我为javascript和css文件编写了其他视图和URL。所以浏览器可以从url获取这些文件。但是如何正确执行呢?

我在index.html{%load static%}中使用了“load static”。如果您使用的是AWS,最好在S3或cloudfront上发布静态文件。您可以使用django-storagesbeanstable,实际上它有一种简单的方式为您托管静态数据。您只需在配置页面中介绍静态文件夹位置。我认为这是最好的选择。