From 2c946c10712a4c4073e01cd2f06e2ae57d813b8e Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Fri, 24 Mar 2023 15:17:55 -0400 Subject: [PATCH] Need custom storage to have two different paths --- vrobbler/settings.py | 4 ++-- vrobbler/storages.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 vrobbler/storages.py diff --git a/vrobbler/settings.py b/vrobbler/settings.py index 88f3951..c1508e6 100644 --- a/vrobbler/settings.py +++ b/vrobbler/settings.py @@ -257,8 +257,8 @@ if os.getenv("VROBBLER_USE_S3", "False").lower() in TRUTHY: location = "/".join([AWS_S3_ENDPOINT_URL, AWS_STORAGE_BUCKET_NAME]) print(f"Storing media on S3 at {location}") - DEFAULT_FILE_storage = "storages.backends.s3boto3.S3Boto3Storage" - STATICFILES_STORAGE = "storages.backends.s3boto3.S3StaticStorage" + DEFAULT_FILE_storage = "vrobbler.storages.MediaStorage" + STATICFILES_STORAGE = "vrobbler.storages.StaticStorage" STATIC_URL = location + "/static/" MEDIA_URL = location + "/media/" diff --git a/vrobbler/storages.py b/vrobbler/storages.py new file mode 100644 index 0000000..99f256f --- /dev/null +++ b/vrobbler/storages.py @@ -0,0 +1,14 @@ +import os +from storages.backends.s3boto3 import S3Boto3Storage + +AWS_STORAGE_BUCKET_NAME = os.getenv("AWS_STORAGE_BUCKET_NAME", "") + + +class MediaStorage(S3Boto3Storage): + bucket_name = AWS_STORAGE_BUCKET_NAME + location = "media" + + +class StaticStorage(S3Boto3Storage): + bucket_name = AWS_STORAGE_BUCKET_NAME + location = "static"