在Django中,有没有一种方法可以在删除媒体文件的同时删除目录?

2024-06-15 09:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

据我所知,调用delete()方法时删除媒体文件非常简单。但是,我想问一下,是否还有一种方法可以删除媒体文件所在的路径

(等等,删除所有空目录是否是一种好的做法?)

def delete(request, post_pk):
    ...
    post = Post.objects.get(pk=post_pk)
    post.image.delete()
    # I want to delete the empty directories as well here
    post.delete()
    ...

Tags: to方法image路径getobjectsrequestdef
1条回答
网友
1楼 · 发布于 2024-06-15 09:31:55

是的,您可以使用os.rmdir()-https://docs.python.org/3/library/os.html#os.rmdir删除目录

您需要目录的完整路径,您可以使用存储在settings.MEDIA\u ROOT或os.path.realpath(os.path.dirname(“此处的文件”)中的路径获取该路径

关于第二个问题,目录将由配置为使用django的存储模块自动创建,因此删除它们没有任何实际区别

相关问题 更多 >