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

回到顶部