0
我的观点看起来像以下未发现:Django的模板意见
from django.shortcuts import render
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser
from flights.models import Farmer
from flights.serializers import FarmerSerializer
from django.contrib.auth.models import User
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.decorators import api_view
import datetime
class JSONResponse(HttpResponse):
"""
An HttpResponse that renders its content into JSON.
"""
def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
kwargs['content_type'] = 'application/json'
super(JSONResponse, self).__init__(content, **kwargs)
#view to get the details of all the farmers
@api_view(('GET',))
def get_all_farmers_details(request):
#Fetch all the farmers from database
results = Farmer.objects.all()
#Serialize the obtained results
serializer = FarmerSerializer(results, many=True)
return JSONResponse(serializer.data)
这个视图返回我JSON数据通过API直接访问时(即直接击中网址在浏览器中)。当我通过角访问它,我得到如下回应:Object {data: Array[2], status: 200, config: Object, statusText: "OK"}
更改JSONResponse(serializer.data)
到return Response(serializer.data)
给我TemplateNotFound错误。然而,类似的代码正在我的另一个项目中使用相同的设置,成功返回JSON和角度我得到[object1,object2]。
可能是什么原因?