美文网首页
使用django返回数据

使用django返回数据

作者: 丨山有乔松 | 来源:发表于2019-02-12 10:14 被阅读0次
    import json
    from django.views import View
    # from django.views.generic.base import View
    from goods.models import goods
    from django.http import HttpResponse
    
    class GoodsListView(View):
      def get(self, request):
        json_list = []
        goods = goods.objects.all()
        for good in goods:
          json_dict = {}
          json_dict['name'] = good.name
          json_dict['category'] = good.category.name
          json_dect['market_price'] = good.market_price
          json_list.append(json.dict)
        return HttpResponse(json.dumps(json_list), content_type = 'application/json')
    
    from goods.views import GoodsListView
    from django.urls import path
    
    urlpatterns = [
      path('goods/', GoodsListView.as_view(), name='goods'),
    ]
    

    使用django原生返回json格式的数据会有一些问题,例如:在数据库中存储datetime类型的数据会无法序列化, 数据库字段太多就会很麻烦

    完善models:

    import json
    from django.core import serializers
    # from django.forms.models import model_to_dict
    from django.views import View
    # from django.views.generic.base import View
    from goods.models import goods
    from django.http import HttpResponse, JsonResponse
    
    
    class GoodsListView(View):
        def get(self, request):
            # json_list = []
            goods = goods.objects.all()
            # for good in goods:
                # json_dict = model_to_dict(good)
                # json_list.append(json.dict)
            json_data = serializers.serialize('json', goods)
            json_data = json.loads(json_data)
    
            return JsonResponse(json_data, safe=False)
    

    相关文章

      网友评论

          本文标题:使用django返回数据

          本文链接:https://www.haomeiwen.com/subject/vbjheqtx.html