想要从 API 返回的图像的相对路径:
想要为 API 返回“ /media/image.jpg
”格式,而不是“ ”http://0.0.0.1:8000/media.image.jpg
对于以下内容,获取完整的 URL 即“ http://0.0.0.1:8000/media.image.jpg
”格式
class ImageListAPIView(ListAPIView):
serializer_class = QuestionImageSerializer
queryset = QuestionImage.objects.all()
对于以下内容,获得正确的输出即:media/image.jpg
格式,这是必需的。
class ImageAPIView(APIView):
def get(self, request, format=None):
QuestionImages = QuestionImage.objects.all()
SerializedData = QuestionImageSerializer(QuestionImages, many=True)
return Response({
'QeustionImages:': SerializedData.data
})
如何返回 ListAPIView 的相对路径 URL?
尝试将以下内容放入序列化程序中,但无法将图像上传到 API。
image = serializers.SerializerMethodField()
def get_image(self, obj):
return obj.image.url
PS:
模型.py:
class QuestionImage(models.Model):
image = models.ImageField(upload_to=question_directory_path)
序列化程序.py:
class QuestionImageSerializer(ModelSerializer):
class Meta:
model = QuestionImage
fields= [
'id',
'image',
]