呓语 | 杨英明的个人博客

专注于c++、Python,欢迎交流

By

Django 后台添加more标签识别(自动截取文章简介)

文章发布时,后台有 文章内容文章描述 两个栏目需要填写,文章描述 其实就是文章简介/摘录,用于显示在首页文章列表中。

一开始我在填写这两个栏目时候的做法是,先写文章,然后从文章内容中截取一部分放到文章描述中,另一种做法就是直接将文章标题当做文章描述。

这样很麻烦,于是我想做一个“识别more标签”的功能,即在后台编辑文章时,在合适的地方插入 --more--,点击发布的时候后台会自动将more标签之前的内容截取出来作为文章描述。

要达成这个效果,我们需要 修改 ArticleModel 类中的 save() 方法。save()方法是在后台编辑完成后,点击“保存”之后调用的方法。我们可以在这里自定义一些工作。

代码

[yourblog]\models.py

    def save(self):
        # 保存之前先处理一下desc文章描述内容
        more = self.content.find("--more--")
        if more==-1:   # 没找到more标签
            # 让它等于标题
            if self.desc=='':      # desc为空
                self.desc = self.title
        else:   # 找到more标签
            self.desc = self.content[:more]
            self.content = ''.join(self.content.split(settings.MORE_TAG))
        super(Article, self).save()

原创声明

转载请注明:呓语 » Django 后台添加more标签识别(自动截取文章简介)