如果不进行设置,ImageField在列表中只能显示存储的路径。
记得配置settings.py中图片存储的位置!
# models.py
class KeepRecord(models.Model):
"""
保养记录
"""
name = models.CharField(max_length=255, verbose_name='设备名称')
image = models.ImageField(upload_to='images/', verbose_name='设备照片', blank=True)
update_date = models.DateTimeField(verbose_name='修改时间', auto_now=True)
class Meta:
verbose_name = '设备列表'
verbose_name_plural = verbose_name
ordering = ['-update_date']
def __str__(self):
return self.name
def image_data(self):
if self.image:
return format_html(
'<img src="/media/{}" width="156px" height="98px"/>',
self.image,
)
else:
return format_html(
'<img src="/media/无拍照上传.png" width="156px" height="98px"/>',
)
# 填写表单里面并没有配置图片,可以根据自己的需求修改配置
def image_admin(self):
return format_html(
'<img src="{}" width="440px" height="275px"/>',
self.image,
)
image_data.short_description = '设备照片'
image_admin.short_description = '设备照片'
# admin.py
@admin.register(KeepRecord)
class KeepRecordAdmin(admin.ModelAdmin):
list_display = ('name', 'image_data', 'update_date',)