Приложение REACT + DJANGO, загрузка файлов excel в бэкенд, Django возвращает пустой словарь

Итак, я пытался загрузить файл excel из фронтенда с помощью post-запроса в бэкенд Django, однако, что бы я ни делал, питоновский словарь request[FILES] пуст.

У кого-нибудь есть идея, почему это может произойти?

This is my POST view from the Django views.py file

@api_view(["POST"])
@csrf_exempt
def processFile(request, *args, **kwargs):
    data = request.data
    print(data.items()) 
    print(str(data.get('file0')))
    if len(request.FILES) == 0 :
        print("empty files")

    print(request.FILES)
    return Response("ok")

А теперь то, как я делаю POST-запрос во фронтенде.

const fileList = async (actualFiles) => {
    var dataForm = new FormData();

    console.log(actualFiles)

    for(let i=0;i<actualFiles.length;i++) {
        const id = 'file' + i;
        console.log("appending file" + i)
        dataForm.append(id, actualFiles[i])
    }

  const res = await fetch(`http://localhost:8000/process-file/`,
    {
      method: 'POST',
      headers: {
   'Content-Type': 'multipart/form-data; boundary=----somefixedboundary'
  },
      body : dataForm,
    })

  const data = await res.json()

  console.log("Data:" + data)
}

Стоит упомянуть: Я пытался некоторое время, думая, что проблема в запросе, однако во вкладке сеть в браузере я вижу, что все в порядке.

  • Я добавляю тип содержимого и границу, потому что, согласно документации Django, если вы не добавите их, сервер не сможет обработать данные.

Есть идеи? Заранее спасибо!

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