From 3bff7ed34c0bf29a0fada05cfaf729aaec7cea6d Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Tue, 1 Feb 2011 20:10:29 +0000 Subject: [PATCH] Preserve order of STATICFILES_DIRS locations in FileSystemFinder. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15389 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/staticfiles/finders.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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):