2016-01-28 11 views
26

Meine API ein JSON-Objekt auf Fehler zurückgibt, aber der Statuscode ist HTTP 200:Django JSON Antwort Fehlerstatus

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

Wie kann ich den Antwortcode ändern, um einen Fehler anzuzeigen?

Antwort

61

JsonResponse normalerweise HTTP 200 zurückgibt, die der Statuscode für 'OK' ist. Um einen Fehler anzuzeigen, können Sie einen HTTP-Statuscode JsonResponse hinzufügen, wie es eine Unterklasse von HttpResponse ist:

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

einen Ist-Zustand zurück

JsonResponse(status=404, data={'status':'false','message':message}) 
4

Um Statuscode in JsonResponse ändern Sie dies tun können:

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