Browse Source

Fixed #23986 -- Fixed collectstatic --clear failure if STATIC_ROOT dir doesn't exist.

Sztrovacsek 10 years ago
parent
commit
87d78241a2

+ 3 - 0
django/contrib/staticfiles/management/commands/collectstatic.py

@@ -199,6 +199,9 @@ class Command(BaseCommand):
         """
         Deletes the given relative path using the destination storage backend.
         """
+        if not self.storage.exists(path):
+            return
+
         dirs, files = self.storage.listdir(path)
         for f in files:
             fpath = os.path.join(path, f)

+ 4 - 0
tests/staticfiles_tests/tests.py

@@ -301,6 +301,10 @@ class TestCollectionClear(CollectionTestCase):
     def test_cleared_not_found(self):
         self.assertFileNotFound('cleared.txt')
 
+    def test_dir_not_exists(self, **kwargs):
+        shutil.rmtree(settings.STATIC_ROOT)
+        super(TestCollectionClear, self).run_collectstatic(clear=True)
+
 
 class TestCollectionExcludeNoDefaultIgnore(CollectionTestCase, TestDefaults):
     """