我将文件上传到服务器到按项目组织的特定文件夹。 (我忘了提到我使用Docker)
在DB上我保存:
ID
4
路径
/var/local/vvv/project-files/project_2/v_5//r_4_C5R1ud0W8AQwnxa.jpg:large.jpeg
文件名
r_4_C5R1ud0W8AQwnxa.jpg:large.jpeg
FILE_TYPE
jpeg
我如何获得绝对路径?
这样的事情:
http://127.0.0.1:8000/media/r_4_C5R1ud0W8AQwnxa.jpg
我唯一能做的就是:
http://127.0.0.1:8000/api/vv/download_resource/4
但它并不能满足我的需要。
请帮助
我的模型图像在哪里:
class Resource(utils.SafeDeleteModel):
path = models.CharField(max_length=200, null=True) # just to define where to save to
file_name = models.CharField(max_length=100, null=True)
file_type = models.CharField(max_length=100, null=True)
added_on = models.DateTimeField(auto_now_add=True)
added_by = models.ForeignKey(User, null=True, blank=True)
comment = models.TextField(null=True, blank=True)
答案 0 :(得分:1)
您可以使用函数序列化Django RF中的任何字段,例如:
class FooSerializer(serializers.ModelSerializer):
foo_image = serializers.SerializerMethodField('get_image_url')
class Meta:
model = Foo
fields = ('image',)
def get_thumbnail_url(self, obj):
return obj.image.url
这可能最终会返回你想要的东西。