【问题标题】:Get data from JsonResponse in django从 django 中的 JsonResponse 获取数据
【发布时间】:2019-09-18 09:46:39
【问题描述】:

我想知道如何从 django 中的 JsonResponse 获取数据。我做了一个像这样工作的 JsonResponse

def pfmdetail(rsid):
   snpid = parseSet(rsid)
   if not snpid:
      return HttpResponse(status=404)
   try:
      data = SnpsPfm.objects.values('start', 'strand', 'type', 'scoreref', 'scorealt', 
                    rsid=F('snpid__rsid'), pfm_name=F('pfmid__name')).filter(snpid=snpid[0])
   except SnpsPfm.DoesNotExist:
      return HttpResponse(status=404)
   serializer = SnpsPfmSerializer(data, many=True)
   return JsonResponse(serializer.data, safe=False)

然后我直接调用这样的方法

def pfmTable(qset,detail):
   source = pfmdetail(detail)
   print(source)
   df = pd.read_json(source)

但它给了我一个错误。我知道这是错误的,因为打印它返回响应的状态为 200,所以我认为响应很好,但是如何访问响应中的数据?我尝试import jsonjson.load 但没有成功。我什至尝试了 QueryDict 的方法,但我仍然无法访问我感兴趣的内容

附:我知道data 包含一些内容,因为如果我在浏览器上显示 jsonresponse,我可以看到 JSON

【问题讨论】:

    标签: django


    【解决方案1】:

    如您在此处看到的:https://docs.djangoproject.com/en/2.2/ref/request-response/#jsonresponse-objects

    JsonResponse 对象在其content 属性中包含 json。

    所以要访问它试试这个:

    df = pd.read_json(source.content)
    

    或者看到它打印出来做:

    print(source.content)
    

    【讨论】:

    猜你喜欢
    • 2019-12-05
    • 2017-12-24
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2022-01-10
    • 2021-03-03
    相关资源
    最近更新 更多