博客系统—在models定义截取字符模型

发布时间 2023-08-26 16:23:44作者: jakub
首先
导入strip_tags()函数,代码中用这个函数截取字段中的字符串
from django.utils.html import strip_tags

然后

    # save函数是数据模型类的方法,我们重写这个方法是为了自动提取摘要内容
    def save(self, *args, **kwargs):
        # 如果没有填写博客文章的摘要
        if not self.excerpt:
            """
            由于博客文章是由富文本编辑器写的,文件中带有大量HTML标签
            用strip()函数可能会把HTML标签截断
            strip_tags()会把字段中的HTML标签删去,然后在纯文本中截取字符串
            """
            self.excerpt = strip_tags(self.body)[:118]
            # 调用父类的save方法将数据保存到数据库中
            super(Blog, self).save(*args, **kwargs)
        else:
            # 重写save必须调用父类的save方法,否则数据不会保存到数据库
            super(Blog, self).save(*args, **kwargs)