博客五部曲之二 - 高级博客


1472 浏览 5 years, 11 months

7 Django模板标签和字符截短操作

版权声明: 转载请注明出处 http://www.codingsoho.com/

上一节我们并没有提到在列表视图如何去截短我们的帖子内容,我们打算留到这一节专门做一个整体介绍

https://docs.djangoproject.com/en/1.11/ref/templates/builtins/

上面链接是tag和filter指南,字符截短的filter是truncatechars,我们可以用instance.get_mardown|truncatechars:120来截短帖子内容,因为截短了,帖子列表上的有的图片也不见了。
我们可以用另外一个过滤器truncatechars_html,它仍然为截短字符,但是它会保护HTML tag,截短之后立即不上相应的关闭tag
比如: {{value|truncatechars_html:9}},如果 value是<p> Joel is a slug</p>,输出是<p>Joel i…</p>

这种方法有的时候会把一个完整的字汇截成两半,要要吃单词的完整,可以用另外一个过滤器truncateword_html,它的问题是中文支持不好。