Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
传递到django更新视图的成功url的消息_Django_Class_Django Views_Messages - Fatal编程技术网

传递到django更新视图的成功url的消息

传递到django更新视图的成功url的消息,django,class,django-views,messages,Django,Class,Django Views,Messages,我正在尝试使用通用的CBV UpdateView在更新时传递一条成功消息 class TribeUpdate(FormMessagesMixin, UpdateView): model = Tribe fields = ['name', 'description', 'cause'] template_name_suffix = '_update_form' form_valid_message = 'success' def get_success_u

我正在尝试使用通用的CBV UpdateView在更新时传递一条成功消息

class TribeUpdate(FormMessagesMixin, UpdateView):
    model = Tribe
    fields = ['name', 'description', 'cause']
    template_name_suffix = '_update_form'
    form_valid_message = 'success'

    def get_success_url(self):
        return reverse('tribe_detail', kwargs={'tribe_slug' : self.kwargs['slug']} )

    def get_object(self, *args, **kwargs):
        obj = super(TribeUpdate, self).get_object(*args, **kwargs)
        if not obj.creator == self.request.user:
            raise PermissionDenied
        return obj

    def form_valid(self, form):
        tribe = Tribe.objects.get(slug=self.kwargs['slug'])
        action.send(tribe.creator, verb='updated the tribe', target=tribe)
        form.save()
        return super(TribeUpdate, self).form_valid(form)
成功消息未显示在成功url页面上。。“详细信息”视图。。当我点击UpdateView时,它会再次出现


任何帮助都将是惊人的,我需要重写form_valid以根据输入将数据保存到表单。

在form_valid方法的末尾,您再次调用它自己,因此它将以递归方式进行

你只需要覆盖

return super(TribeUpdate, self).form_valid(form)


它会起作用。

在表单的末尾,您再次调用了有效的方法本身,因此它以递归的方式运行

你只需要覆盖

return super(TribeUpdate, self).form_valid(form)


它会起作用的。

谢谢你的回复。这似乎不是问题所在,消息未在成功url视图上设置still@AndrewBlaney您是否启用了django消息应用程序?成功页面模板中是否包含django消息模板代码?如果您在get\u success\u url方法中添加messages.success(self.request,'success'),它会起作用吗?谢谢您的回复。这似乎不是问题所在,消息未在成功url视图上设置still@AndrewBlaney您是否启用了django消息应用程序?成功页面模板中是否包含django消息模板代码?如果在get\u success\u url方法中添加messages.success(self.request,'success'),它会起作用吗?success视图的模板是什么?是否确定要在其上包含消息?成功视图的模板是什么,详细信息?您确定要在上面包含消息吗?