mirror of https://github.com/django/django.git
Fixed #34821 -- Prevented DEFAULT_FILE_STORAGE/STATICFILES_STORAGE settings from mutating the main STORAGES.
Regression in 6b965c6000
.
This commit is contained in:
parent
938170008e
commit
a7c73b944f
|
@ -222,8 +222,9 @@ class Settings:
|
||||||
raise ImproperlyConfigured(
|
raise ImproperlyConfigured(
|
||||||
"DEFAULT_FILE_STORAGE/STORAGES are mutually exclusive."
|
"DEFAULT_FILE_STORAGE/STORAGES are mutually exclusive."
|
||||||
)
|
)
|
||||||
self.STORAGES[DEFAULT_STORAGE_ALIAS] = {
|
self.STORAGES = {
|
||||||
"BACKEND": self.DEFAULT_FILE_STORAGE
|
**self.STORAGES,
|
||||||
|
DEFAULT_STORAGE_ALIAS: {"BACKEND": self.DEFAULT_FILE_STORAGE},
|
||||||
}
|
}
|
||||||
warnings.warn(DEFAULT_FILE_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)
|
warnings.warn(DEFAULT_FILE_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)
|
||||||
|
|
||||||
|
@ -232,8 +233,9 @@ class Settings:
|
||||||
raise ImproperlyConfigured(
|
raise ImproperlyConfigured(
|
||||||
"STATICFILES_STORAGE/STORAGES are mutually exclusive."
|
"STATICFILES_STORAGE/STORAGES are mutually exclusive."
|
||||||
)
|
)
|
||||||
self.STORAGES[STATICFILES_STORAGE_ALIAS] = {
|
self.STORAGES = {
|
||||||
"BACKEND": self.STATICFILES_STORAGE
|
**self.STORAGES,
|
||||||
|
STATICFILES_STORAGE_ALIAS: {"BACKEND": self.STATICFILES_STORAGE},
|
||||||
}
|
}
|
||||||
warnings.warn(STATICFILES_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)
|
warnings.warn(STATICFILES_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)
|
||||||
# RemovedInDjango51Warning.
|
# RemovedInDjango51Warning.
|
||||||
|
|
|
@ -9,4 +9,6 @@ Django 4.2.6 fixes several bugs in 4.2.5.
|
||||||
Bugfixes
|
Bugfixes
|
||||||
========
|
========
|
||||||
|
|
||||||
* ...
|
* Fixed a regression in Django 4.2.5 where overriding the deprecated
|
||||||
|
``DEFAULT_FILE_STORAGE`` and ``STATICFILES_STORAGE`` settings in tests caused
|
||||||
|
the main ``STORAGES`` to mutate (:ticket:`34821`).
|
||||||
|
|
|
@ -32,6 +32,7 @@ class StaticfilesStorageDeprecationTests(TestCase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test_settings_init(self):
|
def test_settings_init(self):
|
||||||
|
old_staticfiles_storage = settings.STORAGES.get(STATICFILES_STORAGE_ALIAS)
|
||||||
settings_module = ModuleType("fake_settings_module")
|
settings_module = ModuleType("fake_settings_module")
|
||||||
settings_module.USE_TZ = True
|
settings_module.USE_TZ = True
|
||||||
settings_module.STATICFILES_STORAGE = (
|
settings_module.STATICFILES_STORAGE = (
|
||||||
|
@ -49,6 +50,11 @@ class StaticfilesStorageDeprecationTests(TestCase):
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
# settings.STORAGES is not mutated.
|
||||||
|
self.assertEqual(
|
||||||
|
settings.STORAGES.get(STATICFILES_STORAGE_ALIAS),
|
||||||
|
old_staticfiles_storage,
|
||||||
|
)
|
||||||
finally:
|
finally:
|
||||||
del sys.modules["fake_settings_module"]
|
del sys.modules["fake_settings_module"]
|
||||||
|
|
||||||
|
@ -161,6 +167,7 @@ class DefaultStorageDeprecationTests(TestCase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test_settings_init(self):
|
def test_settings_init(self):
|
||||||
|
old_default_storage = settings.STORAGES.get(DEFAULT_STORAGE_ALIAS)
|
||||||
settings_module = ModuleType("fake_settings_module")
|
settings_module = ModuleType("fake_settings_module")
|
||||||
settings_module.USE_TZ = True
|
settings_module.USE_TZ = True
|
||||||
settings_module.DEFAULT_FILE_STORAGE = "django.core.files.storage.Storage"
|
settings_module.DEFAULT_FILE_STORAGE = "django.core.files.storage.Storage"
|
||||||
|
@ -172,6 +179,11 @@ class DefaultStorageDeprecationTests(TestCase):
|
||||||
fake_settings.STORAGES[DEFAULT_STORAGE_ALIAS],
|
fake_settings.STORAGES[DEFAULT_STORAGE_ALIAS],
|
||||||
{"BACKEND": "django.core.files.storage.Storage"},
|
{"BACKEND": "django.core.files.storage.Storage"},
|
||||||
)
|
)
|
||||||
|
# settings.STORAGES is not mutated.
|
||||||
|
self.assertEqual(
|
||||||
|
settings.STORAGES.get(DEFAULT_STORAGE_ALIAS),
|
||||||
|
old_default_storage,
|
||||||
|
)
|
||||||
finally:
|
finally:
|
||||||
del sys.modules["fake_settings_module"]
|
del sys.modules["fake_settings_module"]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue