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 自定义管理操作:如何在完成时取消选择?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止自定义 UITableViewCells 在取消选择时闪烁白色?

Django admin:如何在单击自定义按钮时调用操作?

如何在 Django 管理员中为模型字段使用自定义表单字段?

如何在自定义仪表板中显示 django 角色和权限

Django 管理员无法使用自定义用户模型正确登录

Django 1.6 管理面板自定义