added safe=False to JsonResponse

This commit is contained in:
atkawa7 2017-03-03 05:32:47 -07:00
parent 9cace70a1e
commit 06feaac4da

View File

@ -235,15 +235,15 @@ The root of our API is going to be a view that supports listing all the existing
if request.method == 'GET': if request.method == 'GET':
snippets = Snippet.objects.all() snippets = Snippet.objects.all()
serializer = SnippetSerializer(snippets, many=True) serializer = SnippetSerializer(snippets, many=True)
return JsonResponse(serializer.data) return JsonResponse(serializer.data, safe=False)
elif request.method == 'POST': elif request.method == 'POST':
data = JSONParser().parse(request) data = JSONParser().parse(request)
serializer = SnippetSerializer(data=data) serializer = SnippetSerializer(data=data)
if serializer.is_valid(): if serializer.is_valid():
serializer.save() serializer.save()
return JsonResponse(serializer.data, status=201) return JsonResponse(serializer.data, safe=False, status=201)
return JsonResponse(serializer.errors, status=400) return JsonResponse(serializer.errors,safe=False, status=400)
Note that because we want to be able to POST to this view from clients that won't have a CSRF token we need to mark the view as `csrf_exempt`. This isn't something that you'd normally want to do, and REST framework views actually use more sensible behavior than this, but it'll do for our purposes right now. Note that because we want to be able to POST to this view from clients that won't have a CSRF token we need to mark the view as `csrf_exempt`. This isn't something that you'd normally want to do, and REST framework views actually use more sensible behavior than this, but it'll do for our purposes right now.
@ -261,15 +261,15 @@ We'll also need a view which corresponds to an individual snippet, and can be us
if request.method == 'GET': if request.method == 'GET':
serializer = SnippetSerializer(snippet) serializer = SnippetSerializer(snippet)
return JsonResponse(serializer.data) return JsonResponse(serializer.data, safe=False)
elif request.method == 'PUT': elif request.method == 'PUT':
data = JSONParser().parse(request) data = JSONParser().parse(request)
serializer = SnippetSerializer(snippet, data=data) serializer = SnippetSerializer(snippet, data=data)
if serializer.is_valid(): if serializer.is_valid():
serializer.save() serializer.save()
return JsonResponse(serializer.data) return JsonResponse(serializer.data, safe=False)
return JsonResponse(serializer.errors, status=400) return JsonResponse(serializer.errors, safe=False, status=400)
elif request.method == 'DELETE': elif request.method == 'DELETE':
snippet.delete() snippet.delete()