Как сохранить данные при загрузке содержимого в 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 файл независимо друг от друга без потери данных?