Почему мой NodeJS Post запрос не работает? (Из Django)

Я пытаюсь отправить запрос, который я получаю в моем Django view, на мой expressjs api на том же сервере, и я получаю либо 500 ошибку, либо пустое тело ответа на стороне express.

Вот мой код express.js:

var express = require('express');
var fs = require('file-saver');
var app = express();
var multer  = require('multer');
var upload = multer({ dest: 'json/' });
const router = express.Router();
const bodyParser = require('body-parser');
//app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/example', function (req, res) {
  res.send('Hello World!');
});

app.post('/example', async (req, res) => {
    await fs.saveAs(req.body, 'json.json');
    await console.log('Got body:', req.body);
    await res.sendStatus(200);
});

app.listen('8080', function () {
    console.log('Test');
});

Вот мое представление django:

from django.http import HttpResponse
from django.core.mail import EmailMessage, send_mail
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
from django.http import FileResponse
from rest_framework.decorators import api_view
import json
from reportsappapi.utilities import logip
import requests

@method_decorator(csrf_exempt, name='dispatch')
@api_view(['GET', 'POST'])
def sendMail(request):
    url = 'https://example.com/example'
    clockout = request.FILES['clockout']
    clockoutJSON = json.load(clockout)
    x = request.post(url, clockout)
return HttpResponse(status=204)

enter image description here

enter image description here

Лишний "s:. как указал Арун

Должно быть x = requests.post(url, clockout) как и сказал Арун Т. Используемый запрос - это текущий объект входящего запроса сервера, а не библиотека запросов python. Вы также можете использовать псевдоним import, например.

import requests as fetch

И тогда

x = fetch.post(url, clockout)`

Для предотвращения распространенных ошибок в именах

Вернуться на верх