From 2687d6cd06a0c83f1b293769b89bfc7734213536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Dlouh=C3=BD?= Date: Mon, 16 Oct 2023 11:36:03 +0200 Subject: [PATCH] add support for Django STORAGES (#237) * add support for Django STORAGES * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Johannes Wilm --- avatar/conf.py | 1 + avatar/models.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/avatar/conf.py b/avatar/conf.py index a29cec6..8859082 100644 --- a/avatar/conf.py +++ b/avatar/conf.py @@ -25,6 +25,7 @@ class AvatarConf(AppConf): ALLOWED_MIMETYPES = None CACHE_TIMEOUT = 60 * 60 STORAGE = settings.DEFAULT_FILE_STORAGE + STORAGE_ALIAS = "default" CLEANUP_DELETED = True AUTO_GENERATE_SIZES = (DEFAULT_SIZE,) FACEBOOK_GET_ID = None diff --git a/avatar/models.py b/avatar/models.py index eca4f67..dec9d31 100644 --- a/avatar/models.py +++ b/avatar/models.py @@ -5,7 +5,6 @@ from io import BytesIO from django.core.files import File from django.core.files.base import ContentFile -from django.core.files.storage import get_storage_class from django.db import models from django.db.models import signals from django.utils.encoding import force_bytes, force_str @@ -17,7 +16,14 @@ from PIL import Image, ImageOps from avatar.conf import settings from avatar.utils import get_username, invalidate_cache -avatar_storage = get_storage_class(settings.AVATAR_STORAGE)() +try: # Django 4.2+ + from django.core.files.storage import storages + + avatar_storage = storages[settings.AVATAR_STORAGE_ALIAS] +except ImportError: + from django.core.files.storage import get_storage_class + + avatar_storage = get_storage_class(settings.AVATAR_STORAGE)() def avatar_path_handler(