Статус ошибки ответ в формате JSON в Django

мой API возвращает объект JSON при ошибке, но код состояния HTTP 200:

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

Как я могу изменить код ответа, чтобы указать на ошибку?

3 ответов


JsonResponse обычно возвращается HTTP 200, который является кодом статуса 'OK'. Чтобы указать ошибку, вы можете добавить код состояния HTTP в JsonResponse как это подкласс HttpResponse:

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

возврат фактического состояния

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

изменить код состояния в JsonResponse можно сделать так :

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