如何使django返回的json数据可供人读取
每个人,我都有 models.py 我正在为api工作,返回json数据,下面是 views.py 但是,我得到了如下返回的json数据 我的问题是如何让django返回的json数据像这样可读 感谢所有回复我的人用户DRF api\u视图如何使django返回的json数据可供人读取,json,django,api,Json,Django,Api,每个人,我都有 models.py 我正在为api工作,返回json数据,下面是 views.py 但是,我得到了如下返回的json数据 我的问题是如何让django返回的json数据像这样可读 感谢所有回复我的人用户DRF api\u视图 from rest_framework.decorators import api_view from rest_framework.response import Response @api_view() def get_index(request)
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view()
def get_index(request):
obj = ProductsTbl.objects.order_by('-created')
data = serializers.serialize("json", obj)
return Response(data)
它可能适用于您更改views.py,如下所示:
from django.http import JsonResponse
from django.core import serializers
.....
def get_index(request):
obj = ProductsTbl.objects.order_by('-created')
data = self.stdout.write(serializers.serialize("json",
obj,
indent=2))
return HttpResponse(json.dumps(data),content_type="application/json")
或者看看你会有什么想法。谢谢你的回复,我已经安装了pip DRF,但是我得到了“无法对未设置
.queryset
或具有.get\u queryset()
方法的视图应用Djangomodel权限”。你正在序列化两次;一次在序列化程序调用中,一次在JsonResponse中。不要这样做。你是说我“从django.core导入序列化程序”和“data=serializers.serialize(“json”,obj)”?序列化程序。serialize('json',obj)
将对象转换为json字符串。然后JsonResponse
再次将其转换为字符串;所以内容是双转义的。谢谢,在我更改了return-JsonResponse(data,safe=False)->return-HttpResponse(data)之后,它就可以工作了
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view()
def get_index(request):
obj = ProductsTbl.objects.order_by('-created')
data = serializers.serialize("json", obj)
return Response(data)
from django.http import JsonResponse
from django.core import serializers
.....
def get_index(request):
obj = ProductsTbl.objects.order_by('-created')
data = self.stdout.write(serializers.serialize("json",
obj,
indent=2))
return HttpResponse(json.dumps(data),content_type="application/json")