如何从 Django QuerySet 中获取绝对图像 URL 列表?
Posted
技术标签:
【中文标题】如何从 Django QuerySet 中获取绝对图像 URL 列表?【英文标题】:How can I get a list of absolute image URLs from a Django QuerySet? 【发布时间】:2012-02-22 02:02:48 【问题描述】:在 Django 中,当您使用 CDN 提供媒体文件时,构建图像 URL 绝对路径的最佳方法是什么?在我的例子中,我有一个 Movie 对象的 QuerySet,我想检索电影的 image 属性的绝对 URL,其中 image 是一个 ImageField。有没有办法通过使用模板标签或 QuerySet API 的 values() 函数来做到这一点?
【问题讨论】:
【参考方案1】:我通过在模型字段的 url 前面加上 settings.py 中的 MEDIA_URL 值来解决这个问题。您可以在模型上创建一个属性,将该连接路径作为您想要的任何名称返回。
例子:
@property
def get_absolute_image_url(self):
return '%s%s' % (MEDIA_URL, self.image.url)
【讨论】:
我相信image.url
已经有了媒体前缀。
在 2012 年回答这个问题时,图片 url 没有前置媒体前缀。以上是关于如何从 Django QuerySet 中获取绝对图像 URL 列表?的主要内容,如果未能解决你的问题,请参考以下文章