1

django开发博客时,想在前台模版中显示后台文本编辑器中上传的图片作为缩略图,因为后台用的第三方的编辑器,所以添加到数据库的数据为html,网上找了很长时间也没有找到很好的解决方案,通过自己摸索研究,用一个第三方模块PyQuery实现了该功能。通过PyQuery获取到html中的img图片地址返回,然后显示在前台模版中,代码如下:

PyQuery使用方法

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  #返回图片路径
前台模版中调用时直接 调用get_contentimg_url()方法即可

xiaomayi2012
300 声望7 粉丝