本文介绍 Django同时上传多张图片或文件
Django同时上传多张图片或文件
本文由在当地较为英俊的男子金天大神原创,版权所有,欢迎转载,本文首发地址 https://jinfagang.github.io 。但请保留这段版权信息,多谢合作,有任何疑问欢迎通过微信联系我交流:jintianiloveu 
Django的这个鸡巴modelformset真的是跟shit一样,难用而且我不知道它具体是做的。我的需求是这样的:
| 1
 | 我有一个表,比如说User,User有一个副表Photos,因为这个Photos可能有多张照片,因此用一个副表来保存,以外键的形式连接起来。我现在用formdata把图片一次性上传上来,但是我不知道怎么把formdata里面的字段和model映射起来。
 | 
最后的解决方案是这样的: 直接request.FILES.getlist()获取到一个字段下的多个文件,然后遍历这些文件保存到本地,简单的记录一下操作。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 | pay_friend_pictures = request.FILES.getlist('pay_friend_picture') if pay_friend_form.is_valid():   pay_friend_obj = pay_friend_form.save(commit=False)   try:     user_id = result['user_id']     user = User.objects.get(id=user_id)     pay_friend_obj.post_user = user     pay_friend_obj.save()          if len(pay_friend_pictures) > 0:              for pic in pay_friend_pictures:         pay_friend_picture_obj = PayFriendPicture(pay_friend_picture=pic, pay_friend=pay_friend_obj)         pay_friend_picture_obj.save()         else:           pass         response = {'status': 'success',                     'info': 'pay friend post success.'}         return HttpResponse(json.dumps(response))
 | 
主要是里面的图片处理逻辑,最后说一句,千万别用这个鸡巴卵的formset,like a shit man.