博客摘录在Django中

Sac*_*hin 10 python django blogs

我正在Django中构建一个博客应用程序,当我显示所有博客时,我想在每个条目中显示一个小博客摘录.谁能告诉我怎么办?

一种方法是创建一个额外的字段并为每个博客条目存储固定数量的单词,比方说20个单词.但那将是在数据库中存储冗余信息.有没有更好的方法呢?

cod*_*ape 14

我建议你使用truncatewords模板过滤器.

模板示例:

<ul>
{% for blogpost in blogposts %}
    <li><b>{{blogpost.title}}</b>: {{blogpost.content|truncatewords:10}}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

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

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

{{blogpost.content|slice:":10"}}
Run Code Online (Sandbox Code Playgroud)

(输出前10个字符).

如果内容存储为HTML,请结合使用striptags以避免打开标记问题:{{blogpost.content|striptags|slice:":10"}}