Django一次上传多个图像

时间:2016-03-07 19:06:41

标签: python angularjs json django

我想通过JSON将多个图像上传到django后端。 我的前端帖子看起来像这样的东西(图像是Base64编码图像的数组):

return $http.post('/api/v1/images/', {
    project: project,
    images: images
  });

我的django模特:

class Image(models.Model):
    project = models.ForeignKey(Project)
    image = models.ImageField(upload_to=get_upload_path)

我的序列化器:

class ImageSerializer(serializers.ModelSerializer):
project = ProjectSerializer(read_only=True, required=False)
image = Base64ImageField(max_length=None, use_url=True)

def __init__(self, *args, **kwargs):
    many = kwargs.pop('many', True)
    super(ImageSerializer, self).__init__(many=many, *args, **kwargs)

class Meta:
    model = Image
    fields = ('id', 'project', 'image')
    read_only_fields = ('id')

我的观点:

class ImageViewSet(viewsets.ModelViewSet):
queryset = Image.objects.order_by('-image')
serializer_class = ImageSerializer

def perform_create(self, serializer):
    currentProject = Project.objects.all().get(name = self.request.data['project'])
    instance = serializer.save(project = currentProject)
    return super(ImageViewSet, self).perform_create(serializer)

0 个答案:

没有答案
相关问题