Django 后台获取文件列表 InMemoryUploadedFile的例子
在使用Django项目中,From表单提交了图片集合
var formdata = new FormData(); formdata.append("csrfmiddlewaretoken",'{{ csrf_token }}'); if ($('.js_file')[0].files.length > 0){ $.each($('.js_file')[0].files, function (index,file) { formdata.append("file",file); }) }
在高度模式的时候,可以看到
<MultiValueDict: {'file': [<InMemoryUploadedFile: wx_friends.png (image/png)>, <InMemoryUploadedFile: wx_qrcode.png (image/png)>, <InMemoryUploadedFile: wx_wechat.png (image/png)>]}>
用:imgs = request.FILES.get('file') 获取,却只能获取一个文件,
原因在于django 默认是只处理单个文件上传的,要一次性批量处理多个文件上传就得采用这种方法。MultiValueDict这种字典类是特殊定义的,如果需要取得list 需要调用 getlist方法
所以获取图片的正确方式是
request.FILES.getlist('file')
这样拿出来的就是一个 InMemoryUploadedFile 类的list ,接下来该怎么处理就怎么处理了。
以上这篇Django 后台获取文件列表 InMemoryUploadedFile的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。