Django 如何在更新旧图像时将其删除?
我希望在用户更新之前上传的图片时将其删除 我已经尝试过修改UserUpdate视图的Django 如何在更新旧图像时将其删除?,django,django-models,django-forms,Django,Django Models,Django Forms,我希望在用户更新之前上传的图片时将其删除 我已经尝试过修改UserUpdate视图的form\u valid,也尝试过修改表单的save方法(不确定应该在何处进行修改) 这样: def form_valid(self, form): old_image = self.instance.picture.path os.remove(old_image) return super().form_valid(form) 我得到一个错误,说'Im
form\u valid
,也尝试过修改表单的save
方法(不确定应该在何处进行修改)
这样:
def form_valid(self, form):
old_image = self.instance.picture.path
os.remove(old_image)
return super().form_valid(form)
我得到一个错误,说'ImageFileDescriptor'对象没有属性“path”
。
找不到有关ImageFileDescriptor的任何有用信息
但如果我这样做:
def save(self):
old_image = self.instance.picture.path
os.remove(old_image)
我得到的图片就是我将要上传到表单中的图片。我在我的项目中使用,效果非常好
因此,您可以执行以下操作:
pip-install-django-cleanup
然后在设置.py中:
INSTALLED_APPS = (
...
'django_cleanup.apps.CleanupConfig', # should go at the end
)
记得把它放在最后