diff options
| author | chillaranand <anand21nanda@gmail.com> | 2017-02-22 20:14:25 +0530 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-02-24 16:02:33 -0500 |
| commit | e4025563ea87b0e3acb1d617ebfcc0b8789f75e7 (patch) | |
| tree | f7608d1ff7677cf1deb0083675bba4bfa1d7797e /django | |
| parent | 339d526d55baffea3bd3cecd0e07ddf644028e8c (diff) | |
Fixed #27836 -- Allowed FileSystemStorage.delete() to remove directories.
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/files/storage.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/django/core/files/storage.py b/django/core/files/storage.py index 1ee9533eb2..b3bb2dc589 100644 --- a/django/core/files/storage.py +++ b/django/core/files/storage.py @@ -293,12 +293,15 @@ class FileSystemStorage(Storage): def delete(self, name): assert name, "The name argument is not allowed to be empty." name = self.path(name) - # If the file exists, delete it from the filesystem. + # If the file or directory exists, delete it from the filesystem. try: - os.remove(name) + if os.path.isdir(name): + os.rmdir(name) + else: + os.remove(name) except FileNotFoundError: - # If os.remove() fails with FileNotFoundError, the file may have - # been removed concurrently. + # If removal fails, the file or directory may have been removed + # concurrently. pass def exists(self, name): |
