在 django rest 框架中,我可以使用 danialfarid/ng-file-upload 上传单个文件
意见.py:
class PhotoViewSet(viewsets.ModelViewSet):
serializer_class = PhotoSerializer
parser_classes = (MultiPartParser, FormParser,)
queryset=Photo.objects.all()
def perform_create(self, serializer):
serializer.save(blogs=Blogs.objects.latest('created_at'),
image=self.request.data.get('image'))
序列化程序.py:
class PhotoSerializer(serializers.ModelSerializer):
class Meta:
model = Photo
模型.py:
class Photo(models.Model):
blogs = models.ForeignKey(Blogs, related_name='blogs_img')
image = models.ImageField(upload_to=content_file_name)
当我尝试上传多个文件时。我进去
chrome 开发者工具:Request Payload
------WebKitFormBoundaryjOsYUxPLKB1N69Zn
Content-Disposition: form-data; name="image[0]"; filename="datacable.jpg"
Content-Type: image/jpeg
------WebKitFormBoundaryjOsYUxPLKB1N69Zn
Content-Disposition: form-data; name="image[1]"; filename="datacable2.jpg"
Content-Type: image/jpeg
回复:
{"image":["No file was submitted."]}
我不知道如何编写用于上传多个文件的序列化程序。
原文由 Deep 3015 发布,翻译遵循 CC BY-SA 4.0 许可协议
我设法解决了这个问题,希望对社区有所帮助
序列化程序.py:
意见.py: