考虑以下Django REST视图:
class TestList(APIView):
renderer_classes = [TemplateHTMLRenderer, JSONRenderer]
template_name = 'android/test.html'
def get(self, request):
queryset = Test.objects.all()
return Response({'test_qs': queryset})
URLConf:
...
url(r'^test/$', test_views.TestList.as_view(), name = 'test'),
...
我设计的视图意味着它可以同时提供常规网页和API响应。如果我从浏览器调用它,该页面完全可以,我看到了预期的模板android/test.html
。
现在问题出现了,当我尝试从cURL调用url时,在Accept头中指定json content-type。我尝试了两种选择。
curl --header "application/json" http://127.0.0.1:8000
仍然返回网页模板HTML代码代替JSON,似乎忽略了--header
参数
和
curl -i -H "Accept: application/json" http:127.0.0.1:8000/test/
导致长期错误。因为我无法从cmd复制粘贴它,所以我只是在这里附上屏幕截图。 有任何想法吗?错误在于cURL请求或我的API本身吗?
答案 0 :(得分:0)
它与内容类型无关。您似乎有一个500错误以及DEBUG = True。
您应该查看运行服务器日志,获取回溯并修复导致500代码的错误。