服务器无法读取Django在一个输入中的多个文件

Mar*_*ark 6 django file-upload

当我向Django提交一个多文件上传表单时

<input type="file" name="files" multiple />
Run Code Online (Sandbox Code Playgroud)

我得到了一个明智的结果request.FILES:

(MultiValueDict: {u'files': [(InMemoryUploadedFile: 0202.jpg (image/jpeg)), (InMemoryUploadedFile: 0203.jpg (image/jpeg))]})
Run Code Online (Sandbox Code Playgroud)

但后来我的困惑开始了.我以为request.FILES['files']会包含几个文件(似乎是一个列表),但它只显示

0203.jpg
Run Code Online (Sandbox Code Playgroud)

没有任何InMemoryUploadedFile部分,更重要的是:只有最后一个文件!

只通过那个文件循环request.FILES,.iteritems()显然request.FILES['files']是难以理解的; 以下代码实际上冻结了控制台并使其无休止地发出哔哔声:

for v in request.FILES['files']:
    print v
    print type(v)
Run Code Online (Sandbox Code Playgroud)

那么......这是否正常?我究竟做错了什么?

因为我开始认为这可能是一个错误:我在Windows 7上使用Django 1.4.2和Python 2.7.

Mar*_*ark 10

事实证明答案是在Stack Overflow上,在这里略有不同(客户端,至少)问题:在django中使用相同的输入名称上传多个文件

事实证明这request.FILES['files']是错误的,应该是request.FILES.getlist('file').

为什么会出现这种情况对我来说完全是个谜.如果有人可以解释,我很乐意切换接受的答案.