Как сохранить данные, когда файл не выбран, с помощью 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,
        })

Вопрос: как предотвратить стирание возвращаемых данных, когда пользователь запускает функцию загрузки без выбранного файла?

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