【问题标题】:Django template filters not working at allDjango模板过滤器根本不起作用
【发布时间】: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”替换为“
    ”)。

标签: django postgresql python-3.x django-templates django-template-filters


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2015-06-18
    • 2011-03-29
    • 2018-05-04
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多