Django模板过滤器根本不起作用

Posted

技术标签:

【中文标题】Django模板过滤器根本不起作用【英文标题】:Django template filters not working at all 【发布时间】:2016-05-20 05:48:50 【问题描述】:

目前我有一个使用 Python 3.5 开发的 Django 1.9 应用程序。数据库是 Postgres 9.4.2.0。

我在数据库中有一个 TEXT 类型字段,其中包含从用户收集的原始输入,然后将其呈现给其他用户阅读。 原始文本包含换行符和类似的东西:

chat.freenode.net\r\n#randomchannel

html 模板本身尝试用中断标记替换换行符并转义其他任何内容

post.body|linebreaksbr|escape

但我添加到post.body 的过滤器似乎并不重要,它始终呈现原始\r\n 并且从不使用<br> 标签替换值。

我在开发服务器中没有收到任何错误,模板的渲染工作正常,只是过滤器似乎不起作用。

我正在努力找出这些过滤器不起作用的原因。有人有什么想法吗?

【问题讨论】:

您可以编写自己的过滤器来尝试(只需将“\r\n”替换为“”)。 【参考方案1】:

原来这与 Django 本身无关,这并不奇怪。

在最新版本和当前版本之间发生的数据迁移破坏了原始数据中的换行符。因此 linebreaksbr 工作正常,但没有找到任何换行符。

【讨论】:

以上是关于Django模板过滤器根本不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Django 自定义模板过滤器不起作用

如果模板标签不起作用,则在 Django 中过滤

带有ajax的Django过滤器功能不起作用

Laravel-过滤器不起作用的引导数据表

为啥这个(Django)“过滤器”功能不起作用?

DateField 的 Django 模型过滤器不起作用