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,显示效果 登陆后台,查看效果

django后台缩略图

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章