Как сохранить данные при загрузке содержимого в texbox?

Ок, я действительно застрял на этом. И я много искал по этому поводу. Но я не могу понять, как справиться со следующей проблемой.

Ситуация следующая: У меня есть две кнопки отправки и две формы. И я хочу загрузить файл независимо от другого файла загрузки. Потому что у меня есть одна загрузка для PDF, а другая для загрузки файла Excel.

Но теперь проблема заключается в том, что когда пользователь загружает PDF файл и его содержимое отображается в текстовом поле, а пользователь выбирает для загрузки Excel файл в другом текстовом поле. Содержимое PDF-файла будет удалено. Из-за обновления.

Итак, это шаблонный материал:

  <form
            class="form-inline"
            role="form"
            action="/controlepunt140"
            method="POST"
            enctype="multipart/form-data"  >
            <div class="form-group">
              {% csrf_token %} {{ form }}
              <button type="submit" name="form_pdf" class="btn btn-warning">
                Upload!
              </button>
            </div>
            <div class="form-outline">
              <div class="form-group">
                <textarea class="inline-txtarea form-control" id="content" cols="70" rows="25">
  {{content}}</textarea>
              </div>
            </div>
          </form>
        </div>
      </span>

      <span class="form-inline" role="form">
        <div class="inline-div">
          <form
            class="form-inline"
            role="form"
            action="/controlepunt140"
            method="POST"
            enctype="multipart/form-data">
            <div class="form-group">
              {% csrf_token %} {{ form }}
              <button type="submit" name="form_excel"  class="btn btn-warning">
                Upload!
              </button>
            </div>
            <div class="form-outline">
              <div class="form-group">
                <textarea class="inline-txtarea form-control" id="" cols="65" rows="25">
  {{content_excel}}</textarea>
              </div>
            </div>
          </form>

а это мой материал views.py:

 def post(self, request):
        filter_text = FilterText()       
        types_of_encoding = ["utf8", "cp1252"]
        submitted_form = ProfileForm(request.POST, request.FILES)
        content = ''
        content_excel = ''

        if request.POST.get('form_pdf') is not None:

            if submitted_form.is_valid() and request.POST:
                uploadfile = UploadFile(image=request.FILES["upload_file"])

                uploadfile.save()

                for encoding_type in types_of_encoding:
                    with open(os.path.join(settings.MEDIA_ROOT, f"{uploadfile.image}"), 'r', encoding=encoding_type) as f:
                        if uploadfile.image.path.endswith('.pdf'):
                            content = filter_text.show_extracted_data_from_file(
                                uploadfile.image.path)

                        else:
                            content = f.read()

                    return render(request, "main/controle_punt140.html", {
                        'form': ProfileForm(),
                        "content": content
                    })

                return render(request, "main/controle_punt140.html", {
                    "form": submitted_form,
                })

        if request.POST.get('form_excel') is not None:

            if submitted_form.is_valid() and request.POST:
                excel_file = request.FILES["upload_file"]             
                wb = openpyxl.load_workbook(excel_file)               
                worksheet = wb['Sheet1']
                print(worksheet)
                excel_data = list()             
                print(excel_data)
                content_excel = excel_data

                return render(request, "main/controle_punt140.html", {
                    'form': ProfileForm(),
                    "content_excel": content_excel
                })

            return render(request, "main/controle_punt140.html", {
                "form": submitted_form,
            })

Вопрос: такой конкретный. Как загрузить PDF файл или Excel файл независимо друг от друга без потери данных?

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