使用django返回数据

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 2,101评论 0 8
  • Django 准备 “虚拟环境为什么需要虚拟环境:到目前位置,我们所有的第三方包安装都是直接通过 pip inst...
    33jubi阅读 1,349评论 0 5
  • 原文:https://my.oschina.net/liuyuantao/blog/751438 查询集API 参...
    阳光小镇少爷阅读 3,868评论 0 8
  • 虽然昨天没有在简书上码字,但是最近两天见缝插针在笔记本上写成了大几千字的材料了。 虽然写材料并不是我份内的工作,但...
    吴佟阅读 156评论 0 2
  • 写在前面: 这是四年前刚刚踏入大学时写的,前天毕业晚宴后终于打开了它。时隔四年,再回头看曾经的期许不免有些唏嘘,四...
    丽丽娅阅读 391评论 0 2