django - 从 Django 中的 JsonResponse 获取数据

标签 django

我想知道如何从 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 json要做json.load但没有成功。我什至尝试了 QueryDict 的方法,但仍然无法访问我感兴趣的内容

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

最佳答案

如您所见:https://docs.djangoproject.com/en/2.2/ref/request-response/#jsonresponse-objects .
JsonResponse对象在其 content 中保存 json属性。

所以要访问它试试这个:

df = pd.read_json(source.content)

或者看到它打印:
print(source.content)

关于django - 从 Django 中的 JsonResponse 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57989807/

相关文章:

python - 自定义中间件类引发错误

python - Django REST框架序列化模型组合

python - django 中的自定义订单

python - Django 模型分组依据

Django:具有不同模型函数的 SQL 查询

python - 在 django 中检索 imageField 的 url 的最佳方法

python - Django 模板语法错误 : too many values to unpack

python - 字段 'id' 需要一个数字,但得到了 ObjectId

python - Django 按外键 bool 字段排序

python - 从 django 数据库中获取多行?