Python 如何从媒体文件夹中删除文件?
我有以下代码,用于删除文件夹中保存的所有文件和数据库表中的文件:Python 如何从媒体文件夹中删除文件?,python,django,django-views,Python,Django,Django Views,我有以下代码,用于删除文件夹中保存的所有文件和数据库表中的文件: def delete(request): folder = '../f2candon/andon/static/media/fileupload' for the_file in os.listdir(folder): file_path = os.path.join(folder, the_file) try: if os.path.isfile(file_
def delete(request):
folder = '../f2candon/andon/static/media/fileupload'
for the_file in os.listdir(folder):
file_path = os.path.join(folder, the_file)
try:
if os.path.isfile(file_path):
os.unlink(file_path)
except Exception as e:
print(e)
delet = Media.objects.all()
delet.delete()
return HttpResponseRedirect('/mediafile/')
但我必须将另一个文件放置在仅删除一个文件的位置,无论该文件是否由id删除,要将其从数据库中删除,我会这样做:
def delete_media(request, id):
delete_file = Media.objects.get(pk=id)
delete_file.delete()
return HttpResponseRedirect('/mediafile/')
是否有方法从数据库中刚刚删除的媒体文件夹中删除同一文件?
在数据库和文件夹中可以找到相同的文件
注意。您可以编写一个forpost\u delete
,在删除数据库中的对象后处理:
@receiver(post_delete, sender=Media)
def delete_associated_files(sender, instance, **kwargs):
"""Removes the media file from disk after deletion."""
if instance.file: # assuming the field name is "file"
instance.file.delete(save=False)
您是否可以覆盖媒体对象的删除功能?