Skip to content

Commit 08b2a4e

Browse files
committed
Remove CachedStaticFilesStorage and dependent storages in Django >= 3.1
Importing the referenced class was resulting in an ImportError. CachedStaticFilesStorage has been deprecated since Django 2.2 and was finally removed in Django 3.1. PipelineCachedStorage and NonPackagingPipelineCachedStorage are also made undefined for in this commit. Django >= 3.1 users should instead use PipelineManifestStorage and NonPackagingPipelineManifestStorage which make use of ManifestStaticFilesStorage. Fixes issue #714
1 parent ce19344 commit 08b2a4e

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

pipeline/storage.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@
22

33
from io import BytesIO
44

5-
from django.contrib.staticfiles.storage import CachedStaticFilesStorage, ManifestStaticFilesStorage, StaticFilesStorage
5+
import django
6+
7+
_CACHED_STATIC_FILES_STORAGE_AVAILABLE = django.VERSION[0] <= 3 and django.VERSION[1] < 1
8+
9+
if _CACHED_STATIC_FILES_STORAGE_AVAILABLE:
10+
from django.contrib.staticfiles.storage import CachedStaticFilesStorage
11+
from django.contrib.staticfiles.storage import ManifestStaticFilesStorage, StaticFilesStorage
612
from django.contrib.staticfiles.utils import matches_patterns
713

814
from django.core.files.base import File
@@ -90,14 +96,17 @@ class NonPackagingPipelineStorage(NonPackagingMixin, PipelineStorage):
9096
pass
9197

9298

93-
class PipelineCachedStorage(PipelineMixin, CachedStaticFilesStorage):
94-
# Deprecated since Django 2.2
95-
pass
99+
if _CACHED_STATIC_FILES_STORAGE_AVAILABLE:
100+
class PipelineCachedStorage(PipelineMixin, CachedStaticFilesStorage):
101+
# Deprecated since Django 2.2
102+
# Removed in Django 3.1
103+
pass
96104

97105

98-
class NonPackagingPipelineCachedStorage(NonPackagingMixin, PipelineCachedStorage):
99-
# Deprecated since Django 2.2
100-
pass
106+
class NonPackagingPipelineCachedStorage(NonPackagingMixin, PipelineCachedStorage):
107+
# Deprecated since Django 2.2
108+
# Removed in Django 3.1
109+
pass
101110

102111

103112
class PipelineManifestStorage(PipelineMixin, ManifestStaticFilesStorage):

0 commit comments

Comments
 (0)