python + easyuitree实现

 前台:

<div id="lowediv" align="center">
        <ul id="trees" class="easyui-tree">
        </ul>
    </div> 

$('#trees').tree({
                ,
                loadFilter: function(data){
                    if (data.d){
                        return data.d;
                    } else {
                        return data;
                    }
                }
            });

后台:

def tree_roledb(request):
    a=[]
    list_items = Roledb.objects.all()
    for p in list_items.values():
        a.append(p)
        print a

//先把取出的数据存入一个列表a

//调用递归
    alist = treeRecursive(a)
    b=json.dumps(alist)
    return HttpResponse(b)
def treeRecursive(data):

//判断循环次数为len(data)
    for s in range(len(data)):
        a = 0//记录for循环次数
        for i in data:
            type(data)
            a=a+1//当前第一次循环
            b = 0//判断是否存在子节点,存在赋值为1,不存在为0
            for j in data:
                if (i['id'] == j['parentId'])://当存在子节点时b=1退出当前for循环进入下一次循环
                    b= 1
                    print i['id']
                    continue
            if(b==0)://当b==0也就是i这条数据没有子节点时把它加入到父节点中
                for h in data:
                    if(h['id']==i['parentId'])://是否存在父节点
                        try:
                            h['children'].append(i)//如果当前的父节点存在children这个键,直接append(i)
                        except Exception,e:
                            h['children']=[]
                            h['children'].append(i)//如果不存在则把新建children键,此键类型为list,并把当前数据加入到父节点中
                        del data[a-1]//删除当前数据
    print data  
    return data

   //最后生成的data为easyui tree所需要的格式

转载于:https://www.cnblogs.com/Mohf/p/4118092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值