Python request.FILES.getlist(';file';)为空
我用Python request.FILES.getlist(';file';)为空,python,django,Python,Django,我用dropzone.js向请求发送了几个文件,但是request.files.getlist()似乎完全是空的。有什么可能的原因吗 --对不起,这只是我问题中的一个输入错误。它是我的代码中的文件 def upload(request): user = request.user theAccount = user.us_er.account if request.method == "POST": form = uploadForm(request.POS
dropzone.js
向请求发送了几个文件,但是request.files.getlist()
似乎完全是空的。有什么可能的原因吗
--对不起,这只是我问题中的一个输入错误。它是我的代码中的文件
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>
{%csrf_令牌%}
按上传!
我知道这是一个老问题,但为了人们通过谷歌登陆这里
Dropzone.js使用ajax在队列中上载文件,因此您的端点应将上载作为单个文件而不是多个文件进行处理
您可以通过request.FILES['file']
访问该文件,而不必执行以下操作:
descriptions=request.POST.getlist('descriptions')
试着这样做:
descriptions=request.FILES.getlist('descriptions[])
在我的例子中,它起了作用。您需要发布一些代码片段,并向我们展示您尝试过的内容等。这并没有太多内容。这也可能对您有所帮助:它是
request.FILES
,而不是request.FILE
,您的表单应该具有属性method=“post”
和enctype=“multipart/form data”
谢谢。我以前看过这篇文章,并且已经实现了多个文件,它们在那篇文章中是如何实现的。您的表单需要同时传递两个字典,就像这样form=uploadForm(request.post,request.files)
同样的问题。有人找到解决方案吗?欢迎来到堆栈溢出!虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。