相关疑难解决方法(0)

如何使用 DJango Rest Framework 上传多个图像?

我可以使用以下代码上传单个图像。如果我选择多张图片,那么只会上传所选图片中的最后一张图片。

模型.py

class Image(models.Model):
property_id = models.ForeignKey(
                'properties.Address',
                null=False,
                default=1,
                on_delete=models.CASCADE
            )
image = models.ImageField(upload_to=directory_path)
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class ImageSerializer(serializers.ModelSerializer):
class Meta:
    model = Image
    fields = (
        'property_id',
        'image'
    )
Run Code Online (Sandbox Code Playgroud)

视图.py

class ImageView(APIView):
parser_classes = (MultiPartParser, FormParser)

def get(self, request):
    all_images = Image.objects.all()
    serializer = ImageSerializer(all_images, many=True)
    return JsonResponse(serializer.data, safe=False)

def post(self, request, *args, **kwargs):
    file_serializer = ImageSerializer(data=request.data)
    if file_serializer.is_valid():
        file_serializer.save()
        return Response(file_serializer.data, status=status.HTTP_201_CREATED)
    else:
        return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)


我对 Django 有点陌生。我想遍历我在 request.data 中收到的图像数组 谁能告诉我怎么做?

django image-uploading django-rest-framework

11
推荐指数
1
解决办法
8348
查看次数