当我尝试应用两个过滤器时,为什么Django会给我一个无效的过滤器错误?

时间:2017-10-01 12:18:01

标签: django jinja2

我想对我的Django模板中显示的文本进行两处更改。首先,我想删除任何HTML的文本。以下代码适用于我:

{{ article.abstract|striptags }}

其次,我想将\n的所有实例替换为我尝试的<br />

{{ article.abstract|striptags|replace('\n', '<br />')  }}

这给了我一个无效的过滤错误。我甚至尝试过:

{{ article.abstract|striptags|replace('\n', '')  }}

这也不起作用。有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:2)

对于您的第一个问题(从输出中删除html),striptags是一个不错的选择。

对于您的第二个问题(将\n转换为换行符),请查看linebreaks过滤器。实际上,在您的情况下,linebreaksbr可能是更好的选择。

您的代码如下所示:

{{ article.abstract|striptags|linebreaksbr }}