Я пытаюсь добавить некоторые данные в базу данных с помощью django. В качестве внешнего интерфейса я использую React.
Таким образом, fetch
запрос выглядит следующим образом:
const data = {
name: formData.name,
email: formData.email,
title: formData.title,
message: formData.message
};
fetch("/some/some_view/", {
method: 'POST',
headers: {
'Accept': 'application/json, text/plain, */*',
"Content-Type": "application/json"
},
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
debugger;
console.log('Success:', data);
})
.catch((error) => {
debugger;
console.error('Error:', error);
});
И в Django у меня есть вид следующим образом:
@csrf_exempt
def some_view(request):
if request.method == 'GET':
return HttpResponse('Unauthorized', status=400)
if request.method == 'POST':
#TODO: Add security
item = json.loads(request.POST.get('body'), object_hook=json_util.object_hook)
pdb.set_trace()
return HttpJsonOk()
В request.POST
я получаю данные для отправки следующим образом:
<QueryDict: {u'{"name":"dsdsd","email":"dsdsd@dsds.com","title":"dsds jflj ","message":"dlkj lksj kmsdkk fljs m"}': [u'']}>
Но я ожидаю, что они будут в request.POST.get('body')
, но там я ничего не получаю.
Есть идеи?