Django | 后台显示缩略图
1,创建 model 类
class ArticleImg(models.Model):
pass
1.1,新建图片字段
class ArticleImg(models.Model):
img_title = models.CharField(max_length=50, verbose_name='图片标题')
article_img = models.ImageField(upload_to='article_img', verbose_name='文章大头图')
def __str__(self):
return self.img_title
1.2,创建预览图函数
class ArticleImg(models.Model):
"""
文章大头图
"""
img_title = models.CharField(max_length=50, verbose_name='图片标题')
article_img = models.ImageField(upload_to='article_img', verbose_name='文章大头图')
def url(self):
"""
显示图片url
"""
if self.article_img:
return self.article_img.url
else:
return "url为空"
def images(self):
"""
预览图
"""
href = self.article_img.url
try:
img = mark_safe('<img src="%s" width="100px" />' % href)
except Exception:
img = ''
return img
# 修改列名显示
url.short_description = 'URL ( 复制粘贴即可 )'
images.short_description = '图片预览'
images.allow_tags = True
def __str__(self):
return self.img_title
2,注册 model类
@admin.register(ArticleImg)
class ArticleImgAdmin(admin.ModelAdmin):
"""
文章大头图
"""
list_display = (
'img_title', # 显示图片标题
'url', # 图片url,便于复制
'images', # 缩略图
'article_img', # 原生字段显示
)
End,显示效果
登陆后台,查看效果