Django / JqueryUI对话框-如何使用JqueryUI对话框集成Django?

问题描述

| 我想使用jQueryUI对话框在Django项目中添加功能,当您单击链接(例如\“ delete \”链接)时,将弹出jQueryUI对话框,询问您是否真的要删除该项目。然后,如果单击删除按钮(在jQuery对话框中),则Django函数将执行删除工作。 那么,如何使Delete按钮(在jQuery对话框中找到)将发布的消息(带有相应的变量)发送到我在views.py中找到的Django函数,它将完成删除工作? 真实的例子将不胜感激!     

解决方法

        假设您的模板中包含以下内容:
<div id=\"dialog\" title=\"Confirm delete\">Are you sure?</div>
{% for object in object_list %}
# display whatever you like here
<a id=\"{{ object.id }}\" class=\"delete\" href=\"#\">Delete</a>
{% endfor %}
然后这样的事情(在您的
$(document).ready
中)将起作用-注意在
click
处理程序中按下删除按钮(使用对话框的option方法)时,如何设置对话框调用的回调函数:
$(\"#dialog\").dialog({
    modal: true,autoOpen: false
});
$(\"a.delete\").click(function(e) {
    e.preventDefault();
    var id = $(this).attr(\'id\');
    $(\"#dialog\").dialog(\'option\',\'buttons\',{
        \"Delete\": function() {
            $.post({
                url: {% url myapp.views.delete %},data: {\'id\': id},success: function() {
                   # whatever you like,some fancy effect that removes the object
                }
            });
            $(this).dialog(\"close\");
        },\"Cancel\": function() {
            $(this).dialog(\"close\");
        }
    });
    $(\"#dialog\").dialog(\"open\");
    return false;
});
    ,        您还应该考虑Apise。它很可爱,使用jQuery,易于使用,并且很小(3k)。
apprise(\'Hello now?\',{\'verify\':true});