在django模板中限制TextField的内容

3
我正在尝试创建一个博客索引页面,显示所有博客文章条目。但我希望限制帖子正文的内容数量(类似于您在互联网上看到的任何博客),因此不会显示所有内容,但当用户单击“阅读更多”链接时,他可以查看该特定帖子的详细信息。
我知道如何创建单篇文章页面,但我无法弄清楚如何限制帖子正文的内容。我需要更改模型中的任何内容吗?还是直接从模板中进行修改即可?
<h1><a href="/blog/{{ post.slug }}/">{{ post.title }}</a></h1>
<p>{{ post.post_body }}</p>
<a href="/blog/{{ post.slug }}/" class="btn btn-default">Read More</a>  

我已将帖子正文声明为文本字段。
post_body = models.TextField()
2个回答

9
truncatechars¶

当字符串长度超过指定的字符数时,截断字符串。被截断的字符串最后将以可翻译的省略号序列 ("...") 结束。

参数: 截断到的字符数

例如:

{{ value|truncatechars:9 }} 如果 value 是 "Joel is a slug",输出将为 "Joel i..."。

文档


这里给出的是以省略号(...)结尾的内容,是否可能现在不显示这些省略号? - Nakib
你可以重写这个模板标签,创建templatetags.py并编写自己的模板标签来使用它。 - Dmitry Yudin

0
你可以使用内置的模板标签"truncatewords",像下面这样:

{{ post.post_body | truncatewords:50 }}

这将显示您的帖子的前50个单词。
这里是文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接