models 配置django
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 配置app
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,)