首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django博客摘录

Django博客摘录
EN

Stack Overflow用户
提问于 2011-10-25 19:18:12
回答 3查看 3.8K关注 0票数 11

我正在用Django构建一个博客应用程序,当我显示所有的博客时,我想显示一个包含每个条目的小博客摘录。有人能告诉我怎么做吗?

要做到这一点,一种方法是增加一个字段,并为每个博客条目存储固定数量的单词,比如20个单词。但这将是在数据库中存储冗余信息。有更好的方法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-25 19:25:30

我建议您使用元音词模板过滤器。

模板示例:

代码语言:javascript
运行
复制
<ul>
{% for blogpost in blogposts %}
    <li><b>{{blogpost.title}}</b>: {{blogpost.content|truncatewords:10}}</li>
{% endfor %}
</ul>

如果博客内容以HTML形式存储,请使用truncatewords_html确保在截断点之后关闭打开的标记(或与striptags组合以删除html标记)。

如果要截断字符(而不是单词),可以使用slice

代码语言:javascript
运行
复制
{{blogpost.content|slice:":10"}}

(输出前10个字符)。

如果内容以HTML形式存储,则与striptags结合以避免打开标记问题:{{blogpost.content|striptags|slice:":10"}}

票数 20
EN

Stack Overflow用户

发布于 2013-07-23 23:22:02

在Django 1.4及更高版本中,有一个叉叉过滤器将字符串截断到特定长度,并使用...终止它。它实际上将其截断到特定的长度减去3,最后3个字符成为...

票数 2
EN

Stack Overflow用户

发布于 2017-01-06 17:26:19

有点联系..。

我刚刚给出了这个问题的答案:标签模板过滤器添加空间,它可以帮助其他人制作包含HTML和标签中的短内容的摘录。

帮助转换这个..。

代码语言:javascript
运行
复制
"<p>This is a paragraph.</p><p>This is another paragraph.</p>"

为了这个..。

代码语言:javascript
运行
复制
'This is a paragraph. This is another paragraph.'

而不是这个。

代码语言:javascript
运行
复制
'This is a paragraph.This is another paragraph.'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7894618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档