django开发博客时,想在前台模版中显示后台文本编辑器中上传的图片作为缩略图,因为后台用的第三方的编辑器,所以添加到数据库的数据为html,网上找了很长时间也没有找到很好的解决方案,通过自己摸索研究,用一个第三方模块PyQuery
实现了该功能。通过PyQuery获取到html中的img图片地址返回,然后显示在前台模版中,代码如下:
from pyquery import PyQuery as pq
class Article(models.Model):
...
content = models.TextField(verbose_name='文章内容')
....
#获取后台文本编辑器图文内容中图片url地址
def get_contentimg_url(self):
temp=Article.objects.filter(pk=str(self.id)).values('content') #values获取Article数据表中的content字段内容
html=pq(temp[0]['content']) #pq方法获取编辑器html内容
img_path=pq(html)('img').attr('src') #截取html内容中的路径
return img_path #返回图片路径