我使用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>
答案 0 :(得分:1)
我知道这是一个老问题,但是为了人们通过Google登陆这里。
Dropzone.js使用ajax在队列中上传文件,因此您的端点应将上传处理为单个文件而不是多个文件。
您可以通过request.FILES['file']
答案 1 :(得分:0)
而不是这样做: descriptions = request.POST.getlist('descriptions')
试试这个: descriptions = request.FILES.getlist('descriptions []')
就我而言,它奏效了。