首页 > 技术文章 > 在django中保存多个上传的文件(save multiple uploaded files in django)

pcent 2019-05-08 16:02 原文

我想在我的应用程序中上传并保存多个文件,我有

< input type =“text”name =“name”value =“”/> 

< input type =“file”name =“file”multiple /> 

在我的模板中。当我点击上传,似乎

form = MyForm(request.POST,request.FILES) 

只保存一个文件它是许多uloaded文件列表中的最后一个。如何能够使用表单 form = MyForm(request.POST,request.FILES)blah blah 保存所有上传的文件?感谢

 修改 


Myform 是一个模型表单这个模型。

  class Docs(models.Model):
name = models.CharField(max_length = 128)
file = models.FileField(max_length = 100,upload_to =“documents /”)

你可以使用 request.FILES ['file'] 或 request.FILE.get('文件')在MyFOrm中。他们只返回一个文件。使用 request.FILE.getlist('file') 以获取多个文件。




在您的看法中:
 form = MyForm(request.POST,request.FILES)
如果form.is_valid():
name = form.cleaned_data ['name']
for f in request.FILES.getlist('file'):
Docs.objects.create(name = name,file = f)
return HttpResponse('OK')

 

解决方案

推荐阅读