上传的图片再删除对象后,django不会自动删除在media_root下的实际文件,所以用 post_delete.connect(delete_file,sender=ModelA) 但是我有2个模型都有imageField,并且他们的属性名不一样,所以我希望delete_file函数是通用的,接受一个指定属性名的参数,这样我就可以.
from functools import partial post_delete.connect(partial(delete_file,'attr_name_A'),sender=ModelA) post_delete.connect(partial(delete_file,'attr_name_B'),sender=ModelB)
def delete_file(attrname,sender,**kwargs): instance=kwargs['instance'] os.remove(os.path.join(BASE_DIR,instance.getattr[attrname].path))
但是没有成功,没报任何异常错误,delete_file没有执行。请问哪里有问题么?或者应该怎样调试?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/147912
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.