【发布时间】:2012-10-21 21:14:12
【问题描述】:
我正在尝试在管理界面中显示模型的缩略图。当我使用 list_display() 添加图像字段时,它显示文件的路径而不是图像本身。如何显示图像并控制其大小?
【问题讨论】:
标签: django django-admin
我正在尝试在管理界面中显示模型的缩略图。当我使用 list_display() 添加图像字段时,它显示文件的路径而不是图像本身。如何显示图像并控制其大小?
【问题讨论】:
标签: django django-admin
顺便说一句,对于所有像我这样的菜鸟: 它也适用于 StackedInline 和 TabularInline,但如果您使用此解决方案,则应在 admin.py 中添加:
fields = (..., 'image_thumb', ...) # as you have expected
readonly_fields = ['image_thumb'] # without this there will be traceback
【讨论】:
'readonly_fields' 部分,请参阅ModelAdmin.fields 部分:docs.djangoproject.com/en/dev/ref/contrib/admin/…
我已经通过添加解决了这个问题:
def image_thumb(self):
return '<img src="/media/%s" width="100" height="100" />' % (self.photo)
image_thumb.allow_tags = True
models.py 中的模型
【讨论】:
return '<img src="{}" width="80"/>'.format(self.photo.url) 另外,通过不指定高度,照片的原始纵横比被保留。
过去已经有一些关于这个问题的相当详细的答案,试试这个链接。
【讨论】: