IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django学习之旅(八)自动生成文章摘要 -> 正文阅读

[Python知识库]Django学习之旅(八)自动生成文章摘要

博客参考追梦人物老师教程,记录学习过程。

通过截取博客正文内容的前50个字符自动生成一段摘要:

  1. 在视图函数中覆写save方法
  2. 直接在模板中进行内容截取

视图函数中覆写save方法

模型的save方法用于保存数据到数据库中,通过覆写save方法可以在保存数据前做一些小的操作。
post类的save方法中添加

from django.utils.html import strip_tags
# markdown渲染对象
        md = markdown.Markdown(extensions=[
            'markdown.extensions.extra',
            'markdown.extensions.codehilite',
        ])
        # md.covert()用于将markdown转换为html,strip_tags用于去掉html的标签,然后取前50个字符为摘要。
        # 注意:self.body本身默认是用markdown语法写的
        self.abstract = strip_tags(md.convert(self.body))[:50]

其中md对象用于将markdown文本渲染为html文本,注意博客的正文body默认是markdown语法写的
strip_tags函数用于去除html内容中的标签,最后取前50个字符作为模型的摘要。
完整的save函数变为:

    def save(self, *args, **kwargs):
        self.modified_time = timezone.now()
        # markdown渲染对象
        md = markdown.Markdown(extensions=[
            'markdown.extensions.extra',
            'markdown.extensions.codehilite',
        ])
        # md.covert()用于将markdown转换为html,strip_tags用于去掉html的标签,然后取前50个字符为摘要。
        # 注意:self.body本身默认是用markdown语法写的
        self.abstract = strip_tags(md.convert(self.body))[:50]
        super().save(*args, **kwargs)

需要注意的是,save函数要保存数据时才会触发。

模板过滤器

模板中形似{{ var | filter: arg }}的内容称为模板过滤器,类似于一个函数,它对变量var进行处理得到想要的结果。
truncatechars模板过滤器:可以对变量进行截取
因此第二种摘要生成方法直接在模板中对正文进行截取

 <p>{{ post.body|truncatechars:54 }}</p>

对变量post.body进行截取前54个字符,作为摘要。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 16:52:04  更:2022-06-26 16:52:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:41:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码