Как получить данные из почтового запроса с помощью шаблонов Django Python
У меня есть два проекта, первый - Node.JS
.
jsonobj = JSON.stringify(generateMockData)
xhrToSoftware.send(jsonobj);
xhrToAPI.open("POST", "http://127.0.0.1:8000/path/", true);
xhrToAPI.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhrToAPI.send(jsonobj);
Он отправляет данные во второй проект Django Python
. Я могу получить данные, используя мой views.py.
post_data = json.loads(request.body.decode("utf-8"))
value = post_data.get('data')
print(value)
Но я хочу напрямую получить данные из Node.JS
в мой Django Templates (javascript or jquery)
возможно ли это?
например:
<script>
//get the data that posted by the node.js
</script>
Я попробовал использовать этот:
fetch('http://127.0.0.1:8000/path/')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => console.error(error));
но у меня ошибка, в ней говорится, что:
SyntaxError: Unexpected token '<', "<!--
<d"... is not valid JSON
Думаю, это потому, что я возвращаю html-файл в моем views.py:
def data(request):
if request.method == 'POST':
post_data = json.loads(request.body.decode("utf-8")) # for simulation
value = post_data.get('data')
return render(request, 'waterplant/iot/data.html')
поэтому я меняю его на jsonresponse следующим образом:
def data(request):
if request.method == 'POST':
post_data = json.loads(request.body.decode("utf-8")) # for simulation
value = post_data.get('data')
return JsonResponse({"msg": value}, status=200)
После этого у меня возникает ошибка ValueError: The view views.data didn't return an HttpResponse object. It returned None instead.
Я думаю, это потому, что значение еще пустое. Как я могу предотвратить это? Если я отправляю данные с помощью Node.JS
, я хочу вернуть их в виде return JsonResponse({"msg": value}, status=200)
Или у вас есть идеи, как я могу получить доступ к данным непосредственно в моих шаблонах Django Python <script> here </script>