diff --git a/django/contrib/staticfiles/storage.py b/django/contrib/staticfiles/storage.py index c000f97d05..7e35add65a 100644 --- a/django/contrib/staticfiles/storage.py +++ b/django/contrib/staticfiles/storage.py @@ -190,8 +190,8 @@ class CachedFilesMixin(object): if dry_run: return - # delete cache of all handled paths - self.cache.delete_many([self.cache_key(path) for path in paths]) + # where to store the new paths + hashed_paths = {} # build a list of adjustable files matches = lambda path: matches_patterns(path, self._patterns.keys()) @@ -240,9 +240,12 @@ class CachedFilesMixin(object): hashed_name = force_unicode(saved_name.replace('\\', '/')) # and then set the cache accordingly - self.cache.set(self.cache_key(name), hashed_name) + hashed_paths[self.cache_key(name)] = hashed_name yield name, hashed_name, processed + # Finally set the cache + self.cache.set_many(hashed_paths) + class CachedStaticFilesStorage(CachedFilesMixin, StaticFilesStorage): """