Как загрузить файл по нажатию кнопки в Django?

У меня есть требование загрузить zip-файл нажатием кнопки "загрузить" или "сохранить". Затем, когда пользователь нажимает на кнопку "запустить", загруженный файл должен быть обработан.

Я создал простую форму и смог написать код для загрузки файла при нажатии на кнопку submit, как показано ниже.

if request.method=='POST':
   upload_request=UploadFile()
   upload_request.file=request.FILES['file_upload']
   upload_request.save()

Шаблон:

<form method="post" enctype="multipart/form-data">
    {% csrf_token%}
    <input type="file" required name="file_upload" id="choose_upload_file" value="" accept=".zip,.rar,.7z,.gz,"></br>           
    <input type="submit" class="btn btn-secondary btn-block" value="upload" id="file_upload1">
</form> 

Но как мне иметь функцию сохранения (файл должен быть загружен) перед отправкой формы?

Я новичок в Django. Пожалуйста, дайте мне несколько советов.

#попробуйте это

   from django.shortcuts import render, redirect
   from django.core.files.storage import default_storage
   from django.core.files.base import ContentFile

   def upload_zip_file(request):
        if request.method == 'POST':
            file = request.FILES['file']
            if (file.name.endswith('.zip') or file.name.endswith('.rar') or
                    file.name.endswith('.7z') or file.name.endswith('.gz')):
               path = default_storage.save('tmp/' + file.name, ContentFile(file.read()))
               return redirect('success')
               return render(request, 'upload.html')
Вернуться на верх