BadRequest не может вернуть JSON?
Я пытаюсь вернуть объект JSON вместе с кодом ошибки 400.
Это правильно возвращает объект (например, {"email": ["A user with that email address already exists."]}
:
return HttpResponse(json.dumps(dict(form.errors.items())))
Тогда как все эти просто возвращают нечитаемый (javascript) объект ([object Object]
):
return BadRequest(json.dumps(dict(form.errors.items())))
return HttpResponseBadRequest(json.dumps(dict(form.errors.items())))
return BadRequest(json.dumps(dict(form.errors.items())), content_type='application/json')
Я пробовал несколько других способов отправки кода ошибки, но результаты были одинаковыми. Как мне получить читаемый объект вместе с кодом ошибки 400 Bad Request?
Наверное, самый простой способ - это JsonResponse
[Django-doc] с status=400
:
def my_view(request):
# …
return JsonResponse(dict(form.errors.items()), status=400)
это также позволяет отказаться от сериализации вручную.