错误返回truncatechars&使用内置模板标签和过滤器安全

时间:2018-02-19 16:22:05

标签: django

我尝试截断字符串并删除html标签,

首先,当我这样写的时候。

{{ post.context|safe }}

{{ post.context |truncatechars:100 }}

enter image description here

左侧导航栏显示正常。

但是当我写这篇文章时,HTML的这一部分就消失了。

{{ post.context |truncatechars:100|safe }}

enter image description here

但我仍然可以在源代码中找到这个Html。

那么我该怎么做才能得到正确的结果呢?谢谢

2 个答案:

答案 0 :(得分:1)

如果您只是想通过 HTML 格式安全地展示内容。

{{ post.context|safe }}
  

如果您截断,则某些 HTML 标记可能无法获得关闭标记,您将获得不规则的视图。

如果要删除 HTML 标记,可以使用 striptags 进行删除,并使用切片过滤器截断字符。

{{post.context|striptags|slice:':300'}}

答案 1 :(得分:0)

如果要显示带有标签的安全代码,虽然现在有点迟了,然后使用{{ post.context|truncatewords_html:30|safe }}{{ post.content|truncatechars_html:100|safe }}。这不会破坏您的代码,并且会显示您想要的内容。