django rest 实现多图片上传
2020-12-25 14:31
标签:file svi int length max 图片 mss als meta models 配置 2.serializers 配置 django rest 实现多图片上传 标签:file svi int length max 图片 mss als meta 原文地址:https://blog.51cto.com/12113362/2542178class 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
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}
class ImageItemsViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet):
queryset = ImageItems.objects.all()
serializer_class = ListImgSerializer
parser_classes = (MultiPartParser, FileUploadParser,)