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

Django DeleteView - send mail after successful deletion

我正在按照文档中的说明使用 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/

除了使用 delete 方法之外,您别无选择。您可以在 return 回复之前发送电子邮件。

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

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