限制django模板中TextField的内容

时间:2015-04-06 03:27:32

标签: python django django-models django-templates django-views

我正在尝试创建一个博客索引页面,其中显示所有博客帖子条目。但我想将帖子的内容限制在一定数量(与您在互联网上看到的任何博客相似),因此并非所有内容都可见,但当用户点击阅读更多链接时,他可以看到那个特别的帖子详细说明。

我知道如何为单篇文章创建页面,但我无法弄清楚如何限制帖子的内容。我是否需要更改模型中的任何内容,或者我可以直接从模板

执行此操作
<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 个答案:

答案 0 :(得分:2)

truncatechars¶

如果字符串长于指定的字符数,则截断该字符串。截断的字符串将以可翻译的省略号序列(“...”)结束。

参数:要截断为

的字符数

例如:

{{value | truncatechars:9}} 如果值为“Joel is a slug”,则输出将为“Joel i ...”。

docs

答案 1 :(得分:0)

您可以使用内置模板标签“truncatewords”,如下所示:

{{ post.post_body |截断词:50 }}

这将显示您帖子的前 50 个字。

这是Documentation