zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    线性表之顺序表的结构与实现
    (转)面试题1:第一个只出现一次的字符
    c++ 虚基类应用
    c++ 多重继承
    c++ 单继承派生类的构造函数
    c++ 构造函数
    深入 Struts2 的配置
    c++ 结构体
    深入浅出C指针
    HTML5 小实例
  • 原文地址:https://www.cnblogs.com/chenyishi/p/10653156.html
Copyright © 2011-2022 走看看