如何在Django中点击按钮上传文件?

c9x0cxw0  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(141)
  • 我要求通过单击"上载"或"保存"按钮上载zip文件。然后,当用户单击"运行"按钮时,上载的文件应该得到处理。*

我创建了一个简单的表单,可以编写代码在单击提交按钮时上载文件,如下所示。

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 ,请给我一些见解。

nfs0ujit

nfs0ujit1#

试试这个

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')

相关问题