虽然我可以在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添加:
admin.py
fields = ( 'image_tag', ) readonly_fields = ('image_tag',)
给你ModelAdmin。如果要限制编辑图像字段的能力,请确保将其添加到exclude属性。
ModelAdmin
注意:仅在readonly_fields中使用Django 1.8和’image_tag’时,它不会显示。仅在字段中使用“ image_tag”,它给出了未知字段的错误。为了正确显示,在字段和readonly_fields中都需要它。