POST-запрос с вложенными параметрами JSON неправильно сформирован в request.POST - PullRequest
0 голосов
/ 12 октября 2018

Внутри интеграционных тестов я пытаюсь сделать POST-запрос с вложенным параметром JSON (это только один из подходов, которые я пробовал):

test_function(admin_client):
    admin_client.post(some_url,
                      json.dumps(some_nested_json),
                      content_type='application/json',
                      headers={'Content-type': 'application/json; charset=utf-8'})

Я также пробовал все виды различных комбинацийдля параметров и т. д., все, что я мог найти в Интернете, но я не могу получить правильный вывод JSON в полученном request.JSON.

Я получаю один из этих трех случаев:

  • request.POST содержит первый уровень JSON плюс массивы второго уровня JSON keys
  • request.POST содержит первый уровень JSON плюс пустой второй уровень JSON
  • request.POST пусто, но request.body содержит весь вложенный JSON в ожидаемом формате

Что мне здесь не хватает?Я использую Python 2.7 .

1 Ответ

0 голосов
/ 12 октября 2018

Это ожидаемое поведение в Джанго.Запросы Json находятся не в request.POST, а в request.body.Вам нужно вручную сделать json.loads(request.body) по вашему мнению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...