Как сохранить в view django - файл, отправленный fetch запросом?

вопрос наиглупейший, но ответ не получилось найти правильный. Есть input поле и, при клике на него (добавлении файла) отправляется fetch запрос на сервер джанго. проблема в том, что не получается получить этот сам файл никак (ну или извлечь его и сохранить). html -

<div class="m-5" id="form_4" enctype="multipart/form-data">
   <label for="formFile_4" class="form-label">Можно загрузить файлы только с <strong>xlsx</strong> форматом</label>
   <div class="input-group">
     <input class="form-control" type="file" id="formFile_4" name="xlsxfile">
     <button type="button" onclick="sendData(this);" class="btn btn-outline-primary" id="4" data-bs-dismiss="modal" name="xlsxfile"> Отправить </button>
   </div>
 </div>

Код fetch запроса

    function sendData(data) {
      var id_val = data.id;
      var inputdata = document.getElementById("formFile_" + id_val.toString());
      const csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value;

      var formData = new FormData();
      formData.append("xlsxfile", inputdata)
      fetch("http://127.0.0.1:8000/home/uploadxlsx", {
          method: "POST",
          headers: {'X-CSRFToken': csrftoken},
          body: JSON.stringify(formData),
      })
      .then( response => {
          console.log(response)
      });
    }

Когда просто через form делала с отправкой submit, выглядела вьюшка так

def uploadxlsx_view(request):
  if request.method == 'POST':
         request_file = request.FILES['xlsxfile'] if 'xlsxfile' in request.FILES else None
         if request_file:
             file_format = request_file.name.split(".")[-1]
             if file_format == "xlsx":
                 file = request.FILES['xlsxfile']
                 fs = FileSystemStorage(location=MEDIA_ROOT)
                 filename = f"{uuid.uuid4()}.xlsx"
                 file = fs.save(filename, file)
                 *** и тд и тп ****

Для fetch пыталась сделать так, но как-то бесполезно

def uploadxlsx_view(request):
  if request.method == "POST":
      received_json = request.body.decode('utf-8')
      file = json.loads(received_json)
      *** и тд и тп ***

Только не бейте), кучу сайтов просмотрела, но ничего особо и не помогло (большинство примеров на ajax). Спасибо заранее.

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