一、本节目标
前几节我们开发数据展示,增删改查,本节开发批量操作功能。
二、功能分析
1、admin有一个默认的action操作框,可以从下拉列表中选择对应的操作,其实是通过actions这个参数控制的。
其实就是通过actions这个项目控制的,在admin.py里添加actions,写一个change_status,然后自己写一个函数,改变学生的状态:
通过执行这个操作,即可将选中的学生状态改变:
三、功能开发
1、首先在baseadmin里添加actions
2、在自定义admin里添加actions,批量修改学生状态为已报名
3、这么添加目前肯定不会生效,因为没有开发多选功能,页面上也没有操作的地方,接下来开发页面,以及多选功能:
页面上先添加一个下拉选择框:
4、在thead与tbody里,分别前边加一个复选框
此时多选框已经出来了:
5、开发全选/取消全选功能
<script> function SelectALLObjs(ele) { if ($(ele).prop('checked')){ $('input[row-select]').prop('checked',true) }else{ $('input[row-select]').prop('checked',false) } } </script>
在前端引用这个js代码,记得引入jquery文件
此时全选功能完成:
6、此时可以全选了,那我们接下来需要做的就是把全选到的项目,传到后端,进行操作
7、此时action功能就完成了
8、我们可以发现admin有一个默认的删除的action,我们也做一个。
既然默认的,就在baseadmin里写一个默认的action:
前端修改:
视图函数修改:
9、页面显示: