How to change status of JsonResponse in Django

Dhanushka Amarakoon picture Dhanushka Amarakoon · Jan 28, 2016 · Viewed 46.1k times · Source

My API is returning a JSON object on error but the status code is HTTP 200:

response = JsonResponse({'status': 'false', 'message': message})
return response

How can I change the response code to indicate an error?

Answer

Selcuk picture Selcuk · Jan 28, 2016

JsonResponse normally returns HTTP 200, which is the status code for 'OK'. In order to indicate an error, you can add an HTTP status code to JsonResponse as it is a subclass of HttpResponse:

response = JsonResponse({'status':'false','message':message}, status=500)