summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authormlavin <markdlavin@gmail.com>2015-01-25 09:53:40 -0500
committerTim Graham <timograham@gmail.com>2015-02-04 10:54:33 -0500
commitd585ade0dfef523c1c4be9fe6dad2dfaf3d1583d (patch)
treeaf7092d51e854906951e3d0234c1868d4a333f9f /django
parent4957b8a40615a082c9218c7c662fb8fccf46b14f (diff)
[1.8.x] Fixed #24197 -- Added clearing of staticfiles caches on settings changes during tests
Cleared caching in staticfiles_storage and get_finder when relevant settings are changed. Backport of 2730dad0d7c425f33f1ecc6cec01fdbf1cdd8376 from master
Diffstat (limited to 'django')
-rw-r--r--django/test/signals.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/django/test/signals.py b/django/test/signals.py
index 6888753b06..56a8945e01 100644
--- a/django/test/signals.py
+++ b/django/test/signals.py
@@ -156,3 +156,24 @@ def root_urlconf_changed(**kwargs):
from django.core.urlresolvers import clear_url_caches, set_urlconf
clear_url_caches()
set_urlconf(None)
+
+
+@receiver(setting_changed)
+def static_storage_changed(**kwargs):
+ if kwargs['setting'] in {
+ 'STATICFILES_STORAGE',
+ 'STATIC_ROOT',
+ 'STATIC_URL',
+ }:
+ from django.contrib.staticfiles.storage import staticfiles_storage
+ staticfiles_storage._wrapped = empty
+
+
+@receiver(setting_changed)
+def static_finders_changed(**kwargs):
+ if kwargs['setting'] in {
+ 'STATICFILES_DIRS',
+ 'STATIC_ROOT',
+ }:
+ from django.contrib.staticfiles.finders import get_finder
+ get_finder.cache_clear()