Django Admin Cookbook-29如何在Django Admin后台中显示Imagefield中的图像
返回目录
29.如何在Django管理员中显示Imagefield中的图像?
在Hero模型中,你有一个ImageField图片字段。
headshot = models.ImageField(null=True, blank=True, upload_to="hero_headshots/")
默认情况下,后台显示如下:
假设你需要在模型修改页面上,显示原有图片的缩略图,可以这样做:
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
readonly_fields = [..., "headshot_image"]
def headshot_image(self, obj):
return mark_safe('<img src="{url}" width="{width}" height={height} />'.format(
url = obj.headshot.url,
width=obj.headshot.width,
height=obj.headshot.height,
)
)
进行此更改后,显示效果如下: