我想知道如何从 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)
Run Code Online (Sandbox Code Playgroud)
然后我直接调用这样的方法
def pfmTable(qset,detail):
source = pfmdetail(detail)
print(source)
df = pd.read_json(source)
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误。我知道这是错误的,因为打印时它返回响应的状态,即 200,所以我认为响应很好,但我如何访问响应中的数据?我试图import json这样做,json.load但没有成功。我什至尝试了 QueryDict 的方法,但仍然无法访问我感兴趣的内容
PS 我知道它data包含一些东西,因为如果我在浏览器上显示 jsonresponse 我可以看到 JSON
正如您在此处看到的:https : //docs.djangoproject.com/en/2.2/ref/request-response/#jsonresponse-objects。
JsonResponse对象在其content属性中保存 json 。
所以要访问它试试这个:
df = pd.read_json(source.content)
Run Code Online (Sandbox Code Playgroud)
或者看到它打印:
print(source.content)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2451 次 |
| 最近记录: |