django返回json有以下三个版本
from django.http import HttpResponse import json from django.views import View from django.views.generic import ListView from goods.models import Goods class GoodsListView(View): def get(self, request): """ 通过django的View实现商品列表 :param request: :return: """ json_list = [] goods = Goods.objects.all()[:10] # 版本1 # for good in goods: # json_dict = {} # json_dict["name"] = good.name # json_dict["category"] = good.category.name # json_dict["market_price"] = good.market_price # json_dict["add_time"] = good.add_time # json_list.append(json_dict) # 优化版本1->版本2 # from django.forms.models import model_to_dict # for good in goods: # json_dict = model_to_dict(good) # json_list.append(json_dict) # return HttpResponse(json.dumps(json_list), content_type="application/json") # 优化版本2->版本3 from django.core import serializers from django.http import JsonResponse json_data = serializers.serialize("json", goods) result = json.loads(json_data) return JsonResponse(result, safe=False) # 不加safe=False的话必须返回dict