python生成无限级树形菜单json

python生成无限级树形菜单json
models.py
class Fl(models.Model):
flxh = models.AutoField(u’分类序号’,primary_key=True)

flmc = models.CharField(u’分类名称’,max_length=255)

flbm = models.ForeignKey(“self”,verbose_name=u’上级分类’,blank=True, null=True, related_name=“children”)

vews.py

from .models import *
from django.shortcuts import HttpResponse
def CkbZzflListTree(request):
queryset =Fl.objects.filter(flbm=None)
tt=[]
var= display(queryset,tt)
var=replaceMore(var)
return HttpResponse(var))

def display(foods,hh):
for food in foods:
m=food.flmc.decode(‘utf8’)
hh.append("{“flxh”:"+str(food.flxh)+",“flmc”:""+m+""")
children= food.children.all()
if len(children) >= 1:
hh.append(",“children”:[")
hh=(display(children,hh))
hh.append("]}")
else:
hh.append("}")
return hh

def replaceMore(var):
var=’’.join(var)
if ( var.find(’,}’)!=-1):
vartt0= var.split(’,}’)
var="}".join(vartt0)
if ( var.find(’}{’)!=-1):
varrv=var.split(’}{’)
var="},{".join(varrv)
if ( var.find(’,]’)!=-1):
varrv1=var.split(’,]’)
var="]".join(varrv1)
if ( var.find(’"{’)!=-1):
varrv11=var.split(’"{’)
var="{".join(varrv11)
if ( var.find(’},]’)!=-1):
varrv10=var.split(’},]’)
var="}]".join(varrv10)
var=var.replace("},]","}]")
return var

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值