django 用modelform接收多图片
杠精的自我修养
方法
request.FILES返回MultiValueDict对象,但form接收时只存储第一个文件,于是想到将files返回的对象拆分为单独的文件:
<MultiValueDict: {‘images’: [<InMemoryUploadedFile: u=310814077,450422932&fm=26&gp=0.jpg (image/jpeg)>, <InMemoryUploadedFile: u=677152879,935139957&fm=26&gp=0.jpg (image/jpeg)>, <InMemoryUploadedFile: u=1881814898,1561415107&fm=26&gp=0.jpg (image/jpeg)>, <InMemoryUploadedFile: u=1908929174,1535614577&fm=26&gp=0.jpg (image/jpeg)>, <InMemoryUploadedFile: 下载.jpg (image/jpeg)>]}>
再将单独的一个InMemoryUploadedFile作为value,拼接出一个MultiValueDict:
需要导入类:
from django.utils.datastructures import MultiValueDict
再循环调用modelform进行存储。
缺点:比起多图片上传常用的以model和request.FIELES.get()直接获取多了转化步骤
优点:可以借用modelform校验。更关键的是我杠得好爽!!&#x