如何从Django Rest项目中获取Vue中的图像URL

时间:2019-04-22 12:03:24

标签: vuejs2 django-rest-framework

我使用

将图像文件存储在djangor_prject_name / pictures / image_name.jpg路径中
models.ImageField(upload_to='pictures/services/', max_length=255, null=True, blank=True)

,文件成功上传。 但是在检索时,查看图像的确切网址是什么? 因为id数据库,所以值只是

picutes/services/image_name.jpg

因此,在查看文件中,我正在使用vue.js,并且需要显示图像的完整路径或url。

1 个答案:

答案 0 :(得分:1)

创建后,它不会为您提供完整的URL,但在列表中将提供完整的URL。因此,您可以使用自定义serializers.SerializerMethodField

class TestSerializer(serializers.ModelSerializer):
    photo = serializers.SerializerMethodField()

    class Meta:
        model = Test
        fields = ('photo',) 

    def get_photo(self, car):
        request = self.context.get('request')
        photo = Test.photo.url
        return request.build_absolute_uri(photo)

有关更多详细信息,refer here