Как получить параметры сообщения Django
Я отправляю данные из Javascript следующим образом:
let payload = {
cmd: document.getElementById('cmdInput').value
}
console.log('Sending payload', payload)
fetch('/runNgen/',
{
method: "POST",
body: JSON.stringify(payload),
headers: {
"Content-Type": "application/json"
}
})
Операция Post вроде бы работает. Но на стороне Django у меня
@api_view(['POST'])
def run_ngen(request):
print("params", request.POST.keys())
и параметры пустые. Что я делаю не так?
Вы можете получить данные из HttpRequest.POST
только в том случае, если HttpRequest
имеет заголовок Content-Type "multipart/formdata". В противном случае вы получите пустой QueryDict
.
Чтобы получить текст в теле, извлеките его из HttpRequest.body
и разберите его.
import json
json.loads(request.body)#[1]
[1] This will parse text body as JSON. This will work if the text is valid JSON.