Django 后台获取文件列表 InMemoryUploadedFile的例子

yipeiwu_com6年前Python基础

在使用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设计】。

相关文章

Python引用传值概念与用法实例小结

本文实例讲述了Python引用传值概念与用法。分享给大家供大家参考,具体如下: Python函数的参数传值使用的是引用传值,也就是说传的是参数的内存地址值,因此在函数中改变参数的值,函数...

pandas读取csv文件,分隔符参数sep的实例

在python中读取csv文件时,一般操作如下: import pandas as pd pd.read_csv(filename) 该读文件方式,默认是以逗号“,”作为分割符,若...

python实现每次处理一个字符的三种方法

本文实例讲述了python每次处理一个字符的三种方法。分享给大家供大家参考。 具体方法如下: a_string = "abccdea" print 'the first' f...

python-序列解包(对可迭代元素的快速取值方法)

一般情况下 x,y,z = 1,2,3 print("x:",x) print("y:",y) print("z:",z) #运行结果 x: 1 y: 2 z: 3 对元祖序...

Python Django 添加首页尾页上一页下一页代码实例

Python Django 添加首页尾页上一页下一页代码实例

添加首页和尾页: views.py: from django.shortcuts import render from app01 import models def book_l...