关注https://docs.djangoproject.com/en/2.0/ref/contrib/messages/#adding-messages-in-class-based-views后,我尝试向DeleteView
添加成功消息:
from django.views.generic import DeleteView
from django.contrib.messages.views import SuccessMessageMixin
class SessionDelete(SuccessMessageMixin, DeleteView):
model = Session
success_url = reverse_lazy('dashboard:sessions')
success_message = "Session %(id)s (%(session_type)s) was deleted successfully"
但是,我注意到这在Django 1.11.9中不起作用。我发现了这个拉取请求https://github.com/django/django/pull/5992,但由于不活动似乎已关闭。我是否正确理解成功消息仍无法正常使用DeleteView
?
答案 0 :(得分:1)
导入 from django.contrib import messages
将此用作您的视图或将其转换为 mixin。
class SessionDelete(DeleteView):
model = Session
success_url = reverse_lazy('dashboard:sessions')
success_message = "Session %(id)s (%(session_type)s) was deleted successfully"
def delete(self, request, *args, **kwargs):
messages.success(self.request, self.success_message, 'danger')
return super(SessionDelete, self).delete(request, *args, **kwargs)