diff options
| author | mlavin <markdlavin@gmail.com> | 2015-01-25 09:53:40 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-02-04 10:54:33 -0500 |
| commit | d585ade0dfef523c1c4be9fe6dad2dfaf3d1583d (patch) | |
| tree | af7092d51e854906951e3d0234c1868d4a333f9f /django/test | |
| parent | 4957b8a40615a082c9218c7c662fb8fccf46b14f (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/test')
| -rw-r--r-- | django/test/signals.py | 21 |
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() |
