Django 2.2 如何在列表视图中禁用复选框

Posted

技术标签:

【中文标题】Django 2.2 如何在列表视图中禁用复选框【英文标题】:Django 2.2 How to disable checkboxes in list view 【发布时间】:2020-02-27 17:14:48 【问题描述】:

Django 2.2

我有一个由 admin.py 类控制的列表视图。没有自定义模板,全部默认。我可以控制表中的哪些字段应该显示在视图中: fields = ('myfield1','myfield2', ...).

列表中每一行的第一列都有一个复选框,源代码如下:

    <td class="action-checkbox">
      <input type="checkbox" name="_selected_action" value="123" class="action-select">
    </td>

我的问题是:

    如何禁用这些复选框(最好从 Django 代码中,不引入自定义模板)?

    可以为某些复选框完成(假设我有一个我不想看到复选框的行的 pk id 列表。)

【问题讨论】:

如果您在ModelAdmin 中设置actions = None,复选框和操作下拉菜单将消失(未禁用)。如果您真的只想禁用某些复选框,我相信您需要添加一些 javascript 代码。 @Chris 将 actions = None 放入 ModelAdmin 中 admin.py 在我的 Django 2.2 中无效。也许它需要放在 ModelAdmin 类的特定方法中? 我想你误会了。查看docs 以了解其放置位置和方式 @Chris 不,我遵循了同一个文档,但没有任何效果。必须是特定于我的设置。 你在使用 django 开发服务器吗? 【参考方案1】:

您可以使用这些复选框删除项目,但如果您想自定义自己的管理页面以覆盖它

您可以使用此文档https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#admin-overriding-templates

【讨论】:

我知道我可以使用这些复选框删除项目,我的问题是如何摆脱它们。链接下的文档没有告诉我。 你应该在下面的 html 页面中覆盖结果 div,django docs 上的方式是link

以上是关于Django 2.2 如何在列表视图中禁用复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何在表格视图单元格上应用复选标记

如何显示 UITableViewCell 附件复选标记

Django:如何通过 AJAX 将 PKID 列表传递给下一个视图,然后重定向

多个复选标记附件在 iOS7 中无法正常工作

如何在 Swift 3 中保存 UITableViewCell 附件复选标记的状态

表视图复选标记