【问题标题】:Apply filter on content.body()在 content.body() 上应用过滤器
【发布时间】:2013-08-30 18:27:57
【问题描述】:

我有一个去除 html 标签的 mako 过滤器。它在其他情况下工作正常。

我有一个看起来像这样的定义:

<%def name='striptags()'>
    ${ caller.body() | strip_tags }
</%def>

由于某种原因,这不起作用。在我看来,mako 过滤器在使用caller.body() 时不起作用。每当我使用 ipdb 检查 caller.body() 的值时,它始终是 u'',但是当我在浏览器中看到呈现的版本时,内容实际上是存在的。

那么,发生了什么,是否可以对 caller.body() 应用 mako 过滤器?

【问题讨论】:

    标签: python mako


    【解决方案1】:

    你试过了吗

    body = capture(self.body)

    ..并将其传递给您的 strip_tags 函数?您说它不会剥离标签,但这不是内置函数——也许问题出在函数而不是 content.body() 部分?

    【讨论】:

    • 啊,所以当我在像${ user.first_name | strip_tags } 这样的普通变量上使用 strip_tags 函数时,它可以正常工作。出于某种原因,它只是不适用于content.body()。更新了我的问题以更好地反映这一点。
    • 糟糕,我的意思是 caller.body!
    • 我用过:capture(context['caller'].body)
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    相关资源
    最近更新 更多