Elastic Beanstalk Aws Django静态和媒体文件

时间:2020-07-26 12:02:13

标签: django amazon-s3 amazon-elastic-beanstalk

上传媒体文件后,我无法访问它们,我有一个商店网站,管理员可以在其中添加项目及其图像,我有两个单独的根文件夹: / static:用于静态文件 / Prod:用于产品文件

这是我的设定。py:

...

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))

...
...

STATIC_ROOT = os.path.join(PROJECT_DIR, 'static', 'Prod')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'Prod')
MEDIA_URL = '/Prod/'

当我检查图像URL时,它们是正确的:mywebsitw.com/prod/image.jpg但未显示,并且直接url不显示任何图像,因为它们知道图像已上传到正确的目录中

PS:在我的本地虚拟环境中,它运行完美

1 个答案:

答案 0 :(得分:0)

对于那些有同样问题的人,我只是切换到S3进行动态存储(链接到db),并保留了静态文件(CSS,JS,静态图像...)。

您需要添加一些软件包:Boto3,django-storages。

网上有很多不错的tuto,只需搜索:django s3上传文件