python django提取文章中第一张图片作为缩略图

前端之家收集整理的这篇文章主要介绍了python django提取文章中第一张图片作为缩略图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

背景:

django 2.1.1

功能

1. 如果用户发布文章时,没有指定缩略图,那么自动文章提取第一张图片作为缩略图

2. 如果文章中没有图片,那么随机指定一张图片作为文章缩略图

提取图片代码

def thumbnail(content):

    pattern = '<img.*?src="(.*?)".*?/>'
    res = re.search(pattern, content)
    try:
    	img_url = res.groups()[0]
    except AttributeError:
    	img_url = ''
    	
    return img_url

生成缩略图代码

from PIL import Image

def make_thumb(path,size=150):  #指定size,在这里表示图片的高度
    pixbuf = Image.open(path)
    width, height = pixbuf.size
 
    if height > size:  #如果高度大于150,则进行压缩
        delta = height / size
        width = int(width / delta)
        pixbuf.thumbnail((width, height), Image.ANTIALIAS)
        return pixbuf


猜你在找的Django相关文章