在django中保存多个上传的文件

Ale*_*xio 8 python django django-templates django-forms django-file-upload

我想在我的应用程序中上传和保存多个文件,我 在我的模板中.当我点击上传时,似乎 只保存了一个文件,它是许多已加载文件列表中的最后一个文件.如何使用表单保存所有上传的文件?谢谢
<input type="text" name="name" value="" />
<input type="file" name="file" multiple/>


form = MyForm(request.POST, request.FILES)
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/")
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 9

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

使用request.FILE.getlist('file')获得多个文件.


在你看来:

....
form = MyForm(request.POST, request.FILES)
if 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')
...
Run Code Online (Sandbox Code Playgroud)