Django Admin从Imagefield显示图像
虽然我可以在list_display中显示上载的图像,但是是否可以在每个模型页面上执行此操作(就像在更改模型时获得的页面一样)?
快速样本模型为:
Class Model1(models.Model): image = models.ImageField(upload_to=directory)
默认管理员显示上传图像的URL,但不显示图像本身。
回答:
当然。在模型类中,添加类似以下方法:
def image_tag(self): from django.utils.html import escape
return u'<img src="%s" />' % escape(<URL to the image>)
image_tag.short_description = 'Image'
image_tag.allow_tags = True
并在你的admin.py
添加:
fields = ( 'image_tag', )readonly_fields = ('image_tag',)
给你ModelAdmin
。如果要限制编辑图像字段的能力,请确保将其添加到exclude属性。
注意:仅在readonly_fields中使用Django 1.8和’image_tag’时,它不会显示。仅在字段中使用“ image_tag”,它给出了未知字段的错误。为了正确显示,在字段和readonly_fields中都需要它。
以上是 Django Admin从Imagefield显示图像 的全部内容, 来源链接: utcz.com/qa/424856.html