Django DeleteView - 删除成功后发送邮件

时间:2018-04-05 22:13:10

标签: django django-class-based-views

我正在使用完全像文档中所述的DeleteView

https://docs.djangoproject.com/en/2.0/ref/class-based-views/generic-editing/#deleteview

如果删除成功,添加额外send_mail()的正确方法是什么?

例如,在CreateView中,我将其添加到form_valid()

方法可以在这里找到:

https://ccbv.co.uk/projects/Django/2.0/django.views.generic.edit/DeleteView/

2 个答案:

答案 0 :(得分:3)

除了使用delete方法之外,您没有其他选择。您可以在返回回复之前发送电子邮件。

def delete(self, request, *args, **kwargs):
    response = super(YourDeleteView, self).delete(request, *args, **kwargs)
    send_email(...)
    return response

答案 1 :(得分:2)

我扩展delete方法本身。首先,你有删除过程,如果出现问题,你可以在一个合理的位置切断过程。其次,它会在维护代码时造成最小的未来混淆 - 如果它应该发生与删除有关,那么这将是它的合理位置。