本文介绍 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.