django 返回json


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM