Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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
Javascript 成功删除、添加或编辑项目的django消息_Javascript_Python_Html_Django_Web - Fatal编程技术网

Javascript 成功删除、添加或编辑项目的django消息

Javascript 成功删除、添加或编辑项目的django消息,javascript,python,html,django,web,Javascript,Python,Html,Django,Web,我已经开始使用django消息来创建项目。 它非常适合创建和添加新项目 但是。。我希望每个动作都有函数- 删除、创建、编辑(我有不同的按钮) 我只有post功能。。当我试图创建一条消息说该项目已成功删除时,我真的很困惑。。我怎么知道删除是提交的而不是发布的?因为每件事都要经过post功能 PostEdit和Delete没有消息所需的“请求” 所以现在我只有messages.succuess在每次创建服务器时运行。 我想有一个不同的消息删除,编辑,创建和相同的错误 有人有线索吗 index.htm

我已经开始使用django消息来创建项目。 它非常适合创建和添加新项目

但是。。我希望每个动作都有函数- 删除、创建、编辑(我有不同的按钮) 我只有post功能。。当我试图创建一条消息说该项目已成功删除时,我真的很困惑。。我怎么知道删除是提交的而不是发布的?因为每件事都要经过post功能

PostEdit和Delete没有消息所需的“请求”

所以现在我只有messages.succuess在每次创建服务器时运行。 我想有一个不同的消息删除,编辑,创建和相同的错误

有人有线索吗

index.html-

{% if messages %}
    <ul class="messages">
        {% for message in messages %}
        <div class="alert alert-success alert-dismissible fade show" role="alert">
                <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
        {% endfor %}
    </ul>
    {% endif %}
您不能在类定义中调用
消息。success
。调用必须以
post
form\u valid
等方法进行

消息框架有一个
successessagexin
,您可能会发现它很有用。将mixin添加到每个视图中,并设置
success\u消息

class PostDelete(SuccessMessageMixin, DeleteView):
    model = serverlist
    success_url = reverse_lazy('serverlist')
    success_message = "Object deleted"
有关更多信息,请参阅上的文档

您不能在类定义中调用
消息。success
。调用必须以
post
form\u valid
等方法进行

消息框架有一个
successessagexin
,您可能会发现它很有用。将mixin添加到每个视图中,并设置
success\u消息

class PostDelete(SuccessMessageMixin, DeleteView):
    model = serverlist
    success_url = reverse_lazy('serverlist')
    success_message = "Object deleted"

有关更多信息,请参阅上的文档。

覆盖deleteview中的delete方法以更改消息类型:

class PostDelete(SuccessMessageMixin, DeleteView):
    model = serverlist
    success_url = reverse_lazy('serverlist')
    success_message = "Object deleted"
    def delete(self, request, *args, **kwargs):
        messages.warning(self.request, self.success_message)
        return super(PostDelete, self).delete(request, *args, **kwargs)

您可以通过覆盖UpdateView的update方法来执行相同的操作。

覆盖deleteview中的delete方法以更改消息类型:

class PostDelete(SuccessMessageMixin, DeleteView):
    model = serverlist
    success_url = reverse_lazy('serverlist')
    success_message = "Object deleted"
    def delete(self, request, *args, **kwargs):
        messages.warning(self.request, self.success_message)
        return super(PostDelete, self).delete(request, *args, **kwargs)

您也可以通过覆盖UpdateView的update方法来实现这一点。

效果很好!我现在唯一担心的是如何在消息中输入实际的服务器名称。。。在post函数中,我可以使用“{0}已成功添加!”。格式(post.ServerName)),但在这里我不能使用post.ServerName。。另外,您知道如何将服务器名加粗吗?由于它不是html,而且我没有,在django中?为了澄清:对于其他基于类的视图,
successessagexin
显示
success\u消息,而无需覆盖
delete
方法。但是,对于
DeleteView
s,情况并非如此,需要重写它--请参阅.Works great!我现在唯一担心的是如何在消息中输入实际的服务器名称。。。在post函数中,我可以使用“{0}已成功添加!”。格式(post.ServerName)),但在这里我不能使用post.ServerName。。另外,您知道如何将服务器名加粗吗?由于它不是html,而且我没有,在django中?为了澄清:对于其他基于类的视图,
successessagexin
显示
success\u消息,而无需覆盖
delete
方法。但是,对于
DeleteView
s,情况并非如此,需要重写它--请参阅。您知道如何像在文章中那样在其中添加实际的服务器名吗?post.servername在这里不起作用,因为类不知道它是什么。我链接的文档演示了如何做到这一点。如果值在表单数据中,您可以使用字符串插值,或者您可以覆盖
get\u success\u message
。您知道我如何像在文章中那样在其中添加实际的服务器名吗?post.servername在这里不起作用,因为类不知道它是什么。我链接的文档演示了如何做到这一点。如果值在表单数据中,则可以使用字符串插值,或者可以覆盖
get\u success\u message