diff --git a/django/contrib/staticfiles/finders.py b/django/contrib/staticfiles/finders.py index c3b0eb6f07..7394e600f3 100644 --- a/django/contrib/staticfiles/finders.py +++ b/django/contrib/staticfiles/finders.py @@ -42,10 +42,10 @@ class FileSystemFinder(BaseFinder): to locate files. """ def __init__(self, apps=None, *args, **kwargs): + # List of locations with static files + self.locations = [] # Maps dir paths to an appropriate storage instance self.storages = SortedDict() - # Set of locations with static files - self.locations = set() if not isinstance(settings.STATICFILES_DIRS, (list, tuple)): raise ImproperlyConfigured( "Your STATICFILES_DIRS setting is not a tuple or list; " @@ -59,13 +59,12 @@ class FileSystemFinder(BaseFinder): raise ImproperlyConfigured( "The STATICFILES_DIRS setting should " "not contain the STATIC_ROOT setting") - self.locations.add((prefix, root)) - # Don't initialize multiple storages for the same location + if (prefix, root) not in self.locations: + self.locations.append((prefix, root)) for prefix, root in self.locations: filesystem_storage = FileSystemStorage(location=root) filesystem_storage.prefix = prefix self.storages[root] = filesystem_storage - super(FileSystemFinder, self).__init__(*args, **kwargs) def find(self, path, all=False):