1.json格式输出
view.py
request为GET模式时:
def GetMultidata(request):
if request.method == "GET":
title = request.GET.get('title') // 获取参数
needData = Multidata.objects.filter(title=title) // 根据参数获取数据库数据
json_data = serializers.serialize('json', needData) // 将数据转为json格式
json_data = json.loads(json_data) // 将数据转为json格式
data = []
for i in range(len(json_data)):
data.append(json_data[i]['fields']) // 提取想要的数据到数组中
finalData = {
'data': data // 提将数据转为json格式
}
return JsonResponse(finalData, safe=False) // 输出到前端
request为POST模式时:
def GetMultidata(request):
if request.method == "POST":
title = request.POST.get('title') // 获取参数
needData = Multidata.objects.filter(title=title) // 根据参数获取数据库数据
json_data = serializers.serialize('json', needData) // 将数据转为json格式
json_data = json.loads(json_data) // 将数据转为json格式
data = []
for i in range(len(json_data)):
data.append(json_data[i]['fields']) // 提取想要的数据到数组中
finalData = {
'data': data // 提将数据转为json格式
}
return JsonResponse(finalData, safe=False) // 输出到前端
2. 无限极循环
def category_data(request):
category = CategoryData.objects.all() // 数据库数据
category_info = serializers.serialize('json', category) // 将数据转为json格式
category_info = json.loads(category_info)
category_info_data = []
for i in range(len(category_info)):
category_info_data.append(category_info[i]['fields'])
lists = []
tree = {}
pid = ''
for i in category_info_data:
item = i
tree[item['cat_id']] = item
root = None
for i in category_info_data:
obj = i
if not obj['pid']:
root = tree[obj['cat_id']]
lists.append(root)
else:
pid = obj['pid']
if 'childList' not in tree[pid]:
tree[pid]['childList'] = []
tree[pid]['childList'].append(tree[obj['cat_id']])
data = {
'data': {
'category_data': lists
},
'code': 200,
'msg': 'true'
}
return JsonResponse(data, safe=False)