У меня есть приложение, которое позволяет загружать файлы в папку MEDIA. Я применил метод удаления, поэтому он удаляет файлы как из базы данных, так и из моего диска. Я хочу, чтобы удалить все пустые каталоги, поэтому вместо:Удалить пустые каталоги в Django
СМИ \ документы \ 2013 \ 11 \ 26
у меня будет
СМИ \
при условии отсутствия файлов. Мой метод удаления в views.py
выглядит следующим образом:
def delete(request):
if request.method != 'POST':
raise HTTP404
docId = request.POST.get('docfile', None)
docToDel = get_object_or_404(Document, pk = docId)
docToDel.docfile.delete()
docToDel.delete()
return HttpResponseRedirect(reverse('myapp.views.list'))
Я нашел код Python, чтобы сделать это, и я пытался добавить его до возвращения заявления: код здесь: http://deathofagremmie.com/archive/2013/05/1/ И так, я пытался добавить, что:
empty_dirs = []
for root, dirs, files in os.walk(MEDIA_ROOT):
if not len(dirs) and not len(files):
empty_dirs.append(root)
for path in empty_dirs:
os.removedirs(path)
Это, к сожалению, ничего не делает. Как удалить эти пустые DIR?
В этом же файле (views.py) У меня есть: вверху PROJECT_ROOT = os.path.abspath (Os .path.dirname (__ file__)) MEDIA_ROOT = os.path.join (PROJECT_ROOT, 'media') , но он не работает, dirs все еще там. – Fengson
Может ли кто-нибудь мне помочь? Это сводит меня с ума ..: < – Fengson