希望从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:
models.py:
class QuestionImage(models.Model):
image = models.ImageField(upload_to=question_directory_path)
serializers.py:
class QuestionImageSerializer(ModelSerializer):
class Meta:
model = QuestionImage
fields= [
'id',
'image',
]
在Django REST框架中,一个API视图希望返回图像的相对路径而不是完整URL。当前设置导致ListAPIView返回全URL,而期望的是‘media/image.jpg’格式。尝试在序列化器中自定义字段获取相对路径,但导致上传问题。问题在于如何在不干扰图像上传功能的情况下,使APIView返回图像的相对路径。
1366

被折叠的 条评论
为什么被折叠?



