我正在用Django构建一个博客应用程序,当我显示所有的博客时,我想显示一个包含每个条目的小博客摘录。有人能告诉我怎么做吗?
要做到这一点,一种方法是增加一个字段,并为每个博客条目存储固定数量的单词,比如20个单词。但这将是在数据库中存储冗余信息。有更好的方法吗?
发布于 2011-10-25 19:25:30
我建议您使用元音词模板过滤器。
模板示例:
<ul>
{% for blogpost in blogposts %}
<li><b>{{blogpost.title}}</b>: {{blogpost.content|truncatewords:10}}</li>
{% endfor %}
</ul>
如果博客内容以HTML形式存储,请使用truncatewords_html
确保在截断点之后关闭打开的标记(或与striptags
组合以删除html标记)。
如果要截断字符(而不是单词),可以使用slice
{{blogpost.content|slice:":10"}}
(输出前10个字符)。
如果内容以HTML形式存储,则与striptags
结合以避免打开标记问题:{{blogpost.content|striptags|slice:":10"}}
发布于 2013-07-23 23:22:02
在Django 1.4及更高版本中,有一个叉叉过滤器将字符串截断到特定长度,并使用...
终止它。它实际上将其截断到特定的长度减去3,最后3个字符成为...
。
发布于 2017-01-06 17:26:19
有点联系..。
我刚刚给出了这个问题的答案:标签模板过滤器添加空间,它可以帮助其他人制作包含HTML和标签中的短内容的摘录。
帮助转换这个..。
"<p>This is a paragraph.</p><p>This is another paragraph.</p>"
为了这个..。
'This is a paragraph. This is another paragraph.'
而不是这个。
'This is a paragraph.This is another paragraph.'
https://stackoverflow.com/questions/7894618
复制相似问题