I've been using send_mail() for when someone creates a Group (model) or updates it, but I've been having trouble figuring out the function for deleting.
This works for when someone creates a Group:
class CreateGroup(CreateView):
model = Group
form_class = GroupForm
template_name = 'create_group.html'
def form_valid(self, form):
instance = form.save()
account = self.request.user.account
send_mail (
f"Thanks for creating {instance.name}",
'create group',
NOTIFICATION_EMAIL,
[account.user.email],
fail_silently=False
)
return HttpResponseRedirect(reverse('group_detail', args=[str(instance.pk)]))
class UpdateGroup(UpdateView):
model = Group
form_class = EditGroupForm
template_name = 'update_group.html'
def form_valid(self, form):
instance = form.save()
account = self.request.user.account
send_mail (
f"Thanks for updating {instance.name}",
'update group',
NOTIFICATION_EMAIL,
[account.user.email],
fail_silently=False
)
return HttpResponseRedirect(reverse('group_detail', args=[str(instance.pk)]))
That works, but how do I do it for DeleteView:
class DeleteGroup(DeleteView):
model = Group
template_name = 'delete_group.html'
success_url = reverse_lazy('home')
Is there something like form_valid() for DeleteView? Or does form_valid() work for those views as well if there's a form associated. I assume a view needs a form for form valid and I thought there wasn't a form since I'm just deleting a Group.