Skip to content

Commit 5987193

Browse files
committed
chore: Reduce deprecation warnings
- Remove USE_L10N setting - Switch to Django's storages API - Use new GISModelAdmin class - Opt in to use new DjangoDivFormRenderer
1 parent 12c3b28 commit 5987193

3 files changed

Lines changed: 26 additions & 14 deletions

File tree

src/project/settings.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666

6767
LANGUAGE_CODE = 'en-us'
6868
USE_I18N = True
69-
USE_L10N = True
7069

7170
###############################################################################
7271
#
@@ -106,7 +105,8 @@
106105
},
107106
]
108107

109-
ATTACHMENT_STORAGE = 'django.core.files.storage.FileSystemStorage'
108+
# Use the new div-based form rendering to avoid RemovedInDjango50Warning
109+
FORM_RENDERER = 'django.forms.renderers.DjangoDivFormRenderer'
110110

111111
###############################################################################
112112
#
@@ -433,16 +433,27 @@ def custom_show_toolbar(request):
433433
# We support S3, GCS, and local filesystem.
434434
# Precedence: GCS > S3 > Local
435435

436-
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
437-
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
438-
ATTACHMENT_STORAGE = DEFAULT_FILE_STORAGE
436+
STORAGES = {
437+
'default': {
438+
'BACKEND': 'django.core.files.storage.FileSystemStorage',
439+
},
440+
# Static files (CSS, JavaScript, Images)
441+
# https://docs.djangoproject.com/en/1.6/howto/static-files/
442+
'staticfiles': {
443+
'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage',
444+
},
445+
'attachments': {
446+
'BACKEND': 'django.core.files.storage.FileSystemStorage',
447+
},
448+
}
449+
ATTACHMENT_STORAGE = STORAGES['attachments']['BACKEND']
439450

440451
if 'GS_BUCKET_NAME' in environ:
441452
# Google Cloud Storage
442453
GS_BUCKET_NAME = environ['GS_BUCKET_NAME']
443454
GS_PROJECT_ID = environ.get('GS_PROJECT_ID')
444455

445-
DEFAULT_FILE_STORAGE = "storages.backends.gcloud.GoogleCloudStorage"
456+
STORAGES['default']['BACKEND'] = "storages.backends.gcloud.GoogleCloudStorage"
446457

447458
GS_DEFAULT_ACL = "publicRead"
448459

@@ -456,7 +467,7 @@ def custom_show_toolbar(request):
456467
MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/"
457468

458469
# Attachments
459-
ATTACHMENT_STORAGE = DEFAULT_FILE_STORAGE
470+
ATTACHMENT_STORAGE = STORAGES['attachments']['BACKEND'] = STORAGES['default']['BACKEND']
460471

461472
elif all([key in environ for key in ('SHAREABOUTS_AWS_KEY',
462473
'SHAREABOUTS_AWS_SECRET',
@@ -468,8 +479,8 @@ def custom_show_toolbar(request):
468479
AWS_QUERYSTRING_AUTH = False
469480
AWS_PRELOAD_METADATA = True
470481

471-
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
472-
ATTACHMENT_STORAGE = DEFAULT_FILE_STORAGE
482+
STORAGES['default']['BACKEND'] = 'storages.backends.s3boto3.S3Boto3Storage'
483+
ATTACHMENT_STORAGE = STORAGES['attachments']['BACKEND'] = STORAGES['default']['BACKEND']
473484

474485

475486
if 'SHAREABOUTS_TWITTER_KEY' in environ and 'SHAREABOUTS_TWITTER_SECRET' in environ:

src/sa_api_v2/admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def render(self, name, value, attrs=None, renderer=None):
8282
return super(PrettyAceWidget, self).render(name, value, attrs=attrs, renderer=renderer)
8383

8484

85-
BaseGeoAdmin = admin.OSMGeoAdmin if settings.USE_GEODB else admin.ModelAdmin
85+
BaseGeoAdmin = admin.GISModelAdmin if settings.USE_GEODB else admin.ModelAdmin
8686

8787

8888
class SubmittedThingAdmin(BaseGeoAdmin):

src/sa_api_v2/models/core.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
else:
88
from django.db import models
99

10-
from django.core.files.storage import get_storage_class
10+
from django.core.files.storage import storages
1111
from django.utils.timezone import now
1212
from .. import cache
1313
from .. import utils
@@ -18,6 +18,10 @@
1818
from PIL import Image, UnidentifiedImageError
1919

2020

21+
# Create a simple AttachmentStorage factory
22+
AttachmentStorage = lambda *a, **kw : storages.create_storage(storages.backends['attachments'], *a, **kw)
23+
24+
2125
class TimeStampedModel (models.Model):
2226
created_datetime = models.DateTimeField(default=now, blank=True, db_index=True)
2327
updated_datetime = models.DateTimeField(auto_now=True, db_index=True)
@@ -294,9 +298,6 @@ def timestamp_filename(attachment, filename):
294298
return ''.join(['attachments/', utils.base62_time(), '-', filename])
295299

296300

297-
AttachmentStorage = get_storage_class(settings.ATTACHMENT_STORAGE)
298-
299-
300301
class Attachment (CacheClearingModel, TimeStampedModel):
301302
"""
302303
A file attached to a submitted thing.

0 commit comments

Comments
 (0)