1.如何在Django admin 显示Imagefield 的图片

在你的Hero模型,你有一个图片字段

  1. headshot = models.ImageField(null=True, blank=True, upload_to="hero_headshots/")

默认是这样显示的: 1.如何在Django admin 显示Imagefield 的图片 - 图1 你被要求将其更改的实际图片也显示在页面上,你可以这样做:

  1. @admin.register(Hero)
  2. class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
  3. readonly_fields = [..., "headshot_image"]
  4. def headshot_image(self, obj):
  5. return mark_safe('<img src="{url}" width="{width}" height={height} />'.format(
  6. url = obj.headshot.url,
  7. width=obj.headshot.width,
  8. height=obj.headshot.height,
  9. )
  10. )

通过这些修改之后,你的imagefiled像这个样子: 1.如何在Django admin 显示Imagefield 的图片 - 图2