Django:在视图中获取ImageField网址

Byt*_*eme 24 django view absolute-path imagefield

我试图在Django视图中获取ImageField绝对路径,这样我就可以打开图像,在上面写一些东西,然后将其提供给用户.

我在获取保存在媒体文件夹中的图像的绝对路径时遇到问题.

item = get_object_or_404(Item, pk=pk)
absolute_url = settings.MEDIA_ROOT + str(item.image.path)
Run Code Online (Sandbox Code Playgroud)

我得到错误,item.image没有path(The 'banner' attribute has no file associated with it.).item.image是ImageField,我想知道如何获取图像字段中保存的图像的绝对路径(在Django视图中).

okm*_*okm 39

正确配置后,使用.url:item.image.url.在这里查看文档.

  • 我尝试使用.url但它不起作用..它适用于模板但不在视图中:/ (3认同)

Pet*_*ann 6

也许这样?

@property
def get_absolute_image_url(self):
    return "{0}{1}".format(settings.MEDIA_URL, self.image.url)
Run Code Online (Sandbox Code Playgroud)

请参阅如何从Django QuerySet获取绝对图像URL列表?