python+Django CRM客户关系管理系统开发(十二)--action功能开发
一、本节目标
前几节我们开发数据展示,增删改查,本节开发批量操作功能。
二、功能分析
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、页面显示:


浙公网安备 33010602011771号