Сбой DRF, когда тип контента = json - PullRequest
0 голосов
/ 14 декабря 2018

Я использую Django Rest Framework с приложением angularJS, и он отлично работает.Однако, когда я пытаюсь использовать запросы Python для связи с любой из его конечных точек, я получаю сообщение об ошибке всякий раз, когда я устанавливаю Content-Type = "application / json".Вот пример:

import requests
res = requests.post(url, data=data, headers={
    "Authorization": "Bearer %s" % token_json['access'],
    "Content-Type": "application/json"
})

# And in my django view
path = request.data['path']

{'detail': 'Ошибка синтаксического анализа JSON - ожидаемое значение: строка 1, столбец 1 (символ 0)'}

Однако,как только я удаляю строку Content-Type: application/json, все начинает работать - хотя мой json не передается должным образом (например, 2 передается как строка "2" вместо числа 2).

1 Ответ

0 голосов
/ 14 декабря 2018

Используйте параметры json, доступные с версии 2.4.2 .Примером может быть:

import requests
res = requests.post(url, json=data, headers={
    "Authorization": "Bearer %s" % token_json['access'],
    "Content-Type": "application/json"
})

Обратите внимание, как мы настраиваем json=data вместо data=data.

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