2016-01-28 4 views
26

私のAPIがエラーにJSONオブジェクトを返すされますが、ステータスコードはHTTP 200です:ジャンゴJSONレスポンスエラーステータス

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

は、どのように私はエラーを示すために応答コードを変更できますか?

答えて

61

JsonResponseは通常'OK'のステータスコードである、HTTP 200を返します。エラーを示すために、それはHttpResponseのサブクラスであるとして、あなたはJsonResponseにHTTPステータスコードを追加することができます。

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

戻る実際のステータス

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

ステータスコードを変更するJsonResponseであなたがこれを行うことができます:

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