Django 自定义管理操作:如何在完成时取消选择?

Posted

技术标签:

【中文标题】Django 自定义管理操作:如何在完成时取消选择?【英文标题】:Django custom Admin Action : how to deselect on completion? 【发布时间】:2015-04-09 22:05:59 【问题描述】:

我编写了一个 Django 自定义管理操作 (https://docs.djangoproject.com/en/1.7/ref/contrib/admin/actions/)。这种事情:

我的管理操作会生成一个包含所选行信息的下载文件。

理想情况下,我希望在下载完成后取消选择那些已选择的行。

是否有既定的方法来做到这一点?大概是借助一些 JS 吧?

【问题讨论】:

【参考方案1】:

如果您要返回一个文件(=直接下载),那么服务器端在请求和响应之间发生什么并不重要 - 您需要在客户端执行此操作,在提交表单后清除复选框.

所以扩展 change_list.html 并插入一些额外的 javascript。 大致如下:

$('#changelist-form').submit(function()
    setTimeout(function() 
        $('#changelist-form input:checkbox').removeAttr('checked');
    , 100);
);

【讨论】:

以上是关于Django 自定义管理操作:如何在完成时取消选择?的主要内容,如果未能解决你的问题,请参考以下文章