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

ArK*_*ect 4 django

在Django中,当您使用CDN提供媒体文件时,构建图像URL的绝对路径的最佳方法是什么?在我的例子中,我有一个Movie对象的QuerySet,我想检索影片的image属性的绝对URL,其中image是一个ImageField.有没有办法通过使用模板标记或QuerySet API的values()函数来做到这一点?

Bra*_*don 6

我通过使用settings.py中的MEDIA_URL值为模型字段添加前缀来解决此问题.您可以在模型上创建一个属性,该属性返回此连接路径,无论您喜欢什么名称.

例:

@property
def get_absolute_image_url(self):
    return '%s%s' % (MEDIA_URL, self.image.url)
Run Code Online (Sandbox Code Playgroud)

  • 我相信`image.url`已经有了媒体前缀. (9认同)
  • 在2012年回答此问题时,图片网址没有前置媒体前缀. (4认同)