给pyspider的任务添加分组

由于任务太多,管理并不方便。

效果如图:


所以我通过视图层面,给pyspider加一个分组。未修改核心程序,只需要修改一个模板文件,方法如下:

1.找到pyspider安装目录(一般在python/lib/site-packages/pyspider)

2.打开文件,pyspider/webui/templates/index.html (为防止意外,请先备份此文件)

3.搜索 <div class="modal fade"  在这句代码上面!!添加如下代码:

<style>
*{outline:None}
 .top_group{ width: auto; height: 36px; overflow:hidden}
 .top_group button{height:34px;margin-left:10px; background: #428bca;border-radius:5px;border: none; color: #fff; padding: 0 6px}
 </style>
 <div class="top_group"></div>

4.搜索 <tr v-cloak v-for="project in projects" data-name="{{* project.name }}">替换成:

<tr class="the_group group_{{ project.group?project.group:null }}" style="display: none" v-cloak v-for="project in projects" data-name="{{* project.name }}">

5.在页面最底部 </body>之前添加如下代码:

<script>
Vue.prototype.groupBtn = function (a) {
     $('.the_group').hide(); $('.group_' + a).show();
 }
 var new_group = []
 var group_html =''
 projects.forEach(function(value, index, array) {
     var group = value['group']
     if(new_group.indexOf(group)<0 && group!=null && group!=''){
         new_group.push(group)
         group_html = group_html + '<button group="'+group+'">'+ group +'</button>'
     }
 });
 group_html = group_html +'<button group="null">未分组</button>'
 document.getElementsByClassName('top_group')[0].innerHTML=group_html
$(".top_group button:first-child").css("background-color","#ba7d1c");
 $(".top_group button").click(function(){
     var group = $(this).attr('group')
     $('.the_group').hide();
     $('.group_' + group).show();  
     $(".top_group button").removeAttr('style');
     $(this).css("background-color","#ba7d1c");

 });
 $(function(){
      $(".group_"+new_group[0]).show()
      if(new_group.length<1)    $('.the_group').show();
 });
 </script>

6.重启webui服务。刷新pyspider主页,可以看到效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容