request.FILES.getlist(' file')为空

时间:2014-06-09 01:24:01

标签: python django

我使用dropzone.js向请求发送了少量文件,但request.FILES.getlist()似乎完全为空。任何可能的原因为什么?

- 抱歉,这只是我提问中的一个错字。我的代码中是FILES

def upload(request):
    user = request.user
    theAccount = user.us_er.account
    if request.method == "POST":
        form = uploadForm(request.POST)
        if form.is_valid():
            descriptions = request.POST.getlist('descriptions')
            count = 0 
            for f in request.FILES.getlist('file'): 
                theAccount.file_set.create(docFile = f, description = descriptions[count], dateAdded = timezone.now(), creator = user.username)
                 count = count + 1
            return HttpResponseRedirect('/home/')

        else:
            return HttpResponse("form is not valid")
    else:
        return HttpResponse('wasnt a post')

这是我的包含dropzone的模板。

<form method="POST" style="border: 2px solid green;" action= "/upload/" enctype="multipart/form-data" class="dropzone">
        {% csrf_token %}
<div class="dropzone-previews"></div>


 <button  value=" submit" class="btn btn-success" type="submit" id="submit">Press to upload!</button>
        </form>

2 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但是为了人们通过Google登陆这里。

Dropzone.js使用ajax在队列中上传文件,因此您的端点应将上传处理为单个文件而不是多个文件。

您可以通过request.FILES['file']

访问文件

答案 1 :(得分:0)

而不是这样做: descriptions = request.POST.getlist('descriptions')

试试这个: descriptions = request.FILES.getlist('descriptions []')

就我而言,它奏效了。