diff --git a/deploy/webapp_settings/production.py b/deploy/webapp_settings/production.py index 5bd756de42..258e08769e 100644 --- a/deploy/webapp_settings/production.py +++ b/deploy/webapp_settings/production.py @@ -83,9 +83,16 @@ SCHEDULED_ELECTION_DATES = ["2023-05-04", "2023-05-18"] +STORAGES = { + "default": { + "BACKEND": "ynr.storages.MediaStorage", + }, + "staticfiles": { + "BACKEND": "ynr.storages.StaticStorage", + }, +} + -STATICFILES_STORAGE = "ynr.storages.StaticStorage" -DEFAULT_FILE_STORAGE = "ynr.storages.MediaStorage" AWS_STORAGE_BUCKET_NAME = "static-candidates.democracyclub.org.uk" AWS_S3_REGION_NAME = "eu-west-2" STATICFILES_LOCATION = "static" diff --git a/deploy/webapp_settings/staging.py b/deploy/webapp_settings/staging.py index d53342305a..d725ede9ce 100644 --- a/deploy/webapp_settings/staging.py +++ b/deploy/webapp_settings/staging.py @@ -37,7 +37,11 @@ # **** Settings that might be useful in production -STATICFILES_STORAGE = "pipeline.storage.PipelineCachedStorage" +STORAGES = { + "staticfiles": { + "BACKEND": "pipeline.storage.PipelineCachedStorage", + }, +} SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") ACCOUNT_DEFAULT_HTTP_PROTOCOL = "https" # RAVEN_CONFIG = { diff --git a/ynr/apps/candidates/tests/helpers.py b/ynr/apps/candidates/tests/helpers.py index 3831877c91..df55b0e17c 100644 --- a/ynr/apps/candidates/tests/helpers.py +++ b/ynr/apps/candidates/tests/helpers.py @@ -80,8 +80,14 @@ def equal_call_args(args1, args2): @override_settings( - STATICFILES_STORAGE="django.contrib.staticfiles.storage.StaticFilesStorage", - DEFAULT_FILE_STORAGE="ynr.storages.TestMediaStorage", + STORAGES={ + "default": { + "BACKEND": "ynr.storages.TestMediaStorage", + }, + "staticfiles": { + "BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage", + }, + }, MEDIA_ROOT=mkdtemp(), ) class TmpMediaRootMixin(TestCase): diff --git a/ynr/apps/parties/tests/test_models.py b/ynr/apps/parties/tests/test_models.py index 5fac442cc4..b25d977101 100644 --- a/ynr/apps/parties/tests/test_models.py +++ b/ynr/apps/parties/tests/test_models.py @@ -3,7 +3,6 @@ """ from candidates.tests.helpers import TmpMediaRootMixin -from django.conf import settings from django.core.files.storage import DefaultStorage from django.test import TestCase @@ -25,13 +24,12 @@ def test_party_emblem(self): self.assertEqual(party.emblems.count(), 3) first_emblem = party.emblems.first() self.assertEqual( - first_emblem.image.url, - f"{settings.MEDIA_ROOT}/emblems/PP0/{first_emblem.ec_emblem_id}_example.jpg", + first_emblem.image.url, "/media/emblems/PP0/1_example.jpg" ) # Add a default image and assert it's the deafult on the party PartyEmblemFactory(party=party, __sequence=99, default=True) self.assertEqual( party.default_emblem.image.url, - f"{settings.MEDIA_ROOT}/emblems/PP0/99_example.jpg", + "/media/emblems/PP0/99_example.jpg", ) diff --git a/ynr/settings/base.py b/ynr/settings/base.py index a0853f18b1..0d592a0ba9 100644 --- a/ynr/settings/base.py +++ b/ynr/settings/base.py @@ -240,7 +240,11 @@ def root(*path): STATICFILES_LOCATION = "static" MEDIAFILES_LOCATION = "media" -STATICFILES_STORAGE = "ynr.storages.StaticStorage" +STORAGES = { + "staticfiles": { + "BACKEND": "ynr.storages.StaticStorage", + }, +} STATICFILES_FINDERS = ( "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", diff --git a/ynr/settings/local.py.example b/ynr/settings/local.py.example index d9b5e10c85..93657745ef 100644 --- a/ynr/settings/local.py.example +++ b/ynr/settings/local.py.example @@ -32,7 +32,11 @@ ADMINS = [()] # **** Settings that might be useful in production -# STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage' +# STORAGES = { + "staticfiles": { + "BACKEND": "pipeline.storage.PipelineCachedStorage", + }, + }, # SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') # ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https' diff --git a/ynr/settings/testing.py b/ynr/settings/testing.py index 8cfe82cc36..7b10d26330 100644 --- a/ynr/settings/testing.py +++ b/ynr/settings/testing.py @@ -36,5 +36,9 @@ def __getitem__(self, item): ALWAYS_ALLOW_RESULT_RECORDING = False -DEFAULT_FILE_STORAGE = "ynr.storages.TestMediaStorage" +STORAGES = { + "default": { + "BACKEND": "ynr.storages.TestMediaStorage", + }, +} MEDIA_ROOT = mkdtemp()