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 如何在列表视图中禁用复选框的主要内容,如果未能解决你的问题,请参考以下文章
Django:如何通过 AJAX 将 PKID 列表传递给下一个视图,然后重定向