...

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,
            )
    )

进行此更改后,显示效果如下:

返回目录

posted @ 2020-01-14 14:58  韩志超  阅读(920)  评论(0编辑  收藏  举报