首页 > Web开发 > 详细

django rest 实现多图片上传

时间:2020-10-17 11:41:52      阅读:38      评论:0      收藏:0      [点我收藏+]
  • models 配置

    class ImageItems(models.Model):
    image = models.ImageField(upload_to=‘static/images/%Y/%m/%d‘, null=False, blank=False, verbose_name=‘图片url‘)
    
    class Meta:
        verbose_name = ‘图片集合‘
        verbose_name_plural = verbose_name

    2.serializers 配置

    class ListImgSerializer(serializers.Serializer):
    img = serializers.ListField(
        child=serializers.FileField(max_length=100000,
                                    allow_empty_file=False,
                                    use_url=True), write_only=True
    )
    img_list = serializers.ListField(
        child=serializers.CharField(max_length=1000, ), read_only=True
    )
    code = serializers.IntegerField(read_only=True)
    
    def create(self, validated_data):
        imgs = validated_data.get(‘img‘)
        images = []
        for index, url in enumerate(imgs):
            image = ImageItems.objects.create(image=url)
            imageItems = ImageItemsSerializer(image, context=self.context)
            images.append(imageItems.data[‘image‘])
        return {"img_list": images, "code": 201}
  • viewSet 配置
    class ImageItemsViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet):
    queryset = ImageItems.objects.all()
    serializer_class = ListImgSerializer
    parser_classes = (MultiPartParser, FileUploadParser,)
  • url 自己完成了,so easy
  • postman 验证
    技术分享图片
  • django rest 实现多图片上传

    原文:https://blog.51cto.com/12113362/2542178

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
    © 2014 bubuko.com 版权所有
    打开技术之扣,分享程序人生!