Как сохранить данные, когда файл не выбран, с помощью django?
У меня есть форма, и я могу загрузить файл и вернуть данные этого файла. Но как сохранить данные из загруженного файла, когда пользователь не выбрал файл и запускает функцию загрузки.
Я имею в виду, что когда данные возвращаются и пользователь снова выбирает функцию загрузки, не выбрав файл, то возвращенные данные будут стерты.
это шаблон:
{% extends 'base.html' %} {% load static %} {% block content %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Create a Profile</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="{% static 'main/css/custom-style.css' %}" />
<link rel="stylesheet" type="text/css" href="{% static 'main/css/bootstrap.css' %}" />
</head>
<body>
<div class="container center">
<span class="form-inline" role="form">
<div class="inline-div">
<form class="form-inline" action="/controlepunt140" method="POST" enctype="multipart/form-data">
<div class="d-grid gap-3">
<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>
</div>
</form>
</div>
</span>
</div>
</body>
</html>
{% endblock content %}
и views.py:
def post(self, *args, **kwargs):
filter_text = FilterText()
types_of_encoding = ["utf8", "cp1252"]
submitted_form = UploadFileForm(self.request.POST, self.request.FILES)
content = ''
if self.request.POST.get('form_pdf') is not None and 'upload_file' in self.request.FILES and submitted_form.is_valid():
uploadfile = UploadFile(image=self.request.FILES.get("upload_file", 'new default'))
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(self.request, "main/controle_punt140.html", {
'form': UploadFileForm(),
"content": content
})
return render(self.request, "main/controle_punt140.html", {
"form": submitted_form,
})
Вопрос: как предотвратить стирание возвращаемых данных, когда пользователь запускает функцию загрузки без выбранного файла?