django管理面板添加一个确认窗口

时间:2016-05-04 08:25:42

标签: django django-admin django-admin-tools

我需要在管理员更改模型提交上添加一个确认窗口" save"。像这样的Smth:"你真的想申请变更吗?是/否&#34 ;.我只需要一个模型,并且只有当更改的模型满足其他条件时才需要它。我不能覆盖django模板,因为使用django-admin-tool的一个模型原因。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用Bootstrap和Javascript(或其他)来显示确认窗口。在将请求发送到服务器之后,您应该在onclick按钮(提交)中调用JS函数并显示确认窗口。 可能是(想法):

在JS函数(设置display:block)中调用它之前,此元素(div)不会出现apear(display:none)。

<div id="confirmationYesNo" style="display:none">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h4>Confirmation</h4>
                    </div>
                    <div class="modal-body">
                        <h3>Do you really want to apply changes?</h3>
                        <button id="confirmationYes" class="btn">Yes</button>
                        <button id="confirmationNo" data-dismiss="modal" class="btn">No</button>
                    </div>
                </div>
            </div>
        </div>


function confirmation() 
{
    document.getElementById("confirmationYesNo").style.display = "block";
    document.getElementById('confirmationYes').onclick = function() {
        document.getElementById("form_name").action = "view_name";
        document.getElementById("form_name").submit();
        document.getElementById("confirmationYesNo").style.display = "none";
    };
    document.getElementById('confirmationNo').onclick = function() {
        document.getElementById("confirmationYesNo").style.display = "none";
    };
}

当你调用JS函数时(从提交按钮),你等到是或否点击。如果单击是,则将表单发送到服务器并隐藏元素(div),如果没有单击,则只隐藏元素。