【问题标题】:template filter to trim any leading or trailing whitespace模板过滤器修剪任何前导或尾随空格
【发布时间】:2012-05-08 19:52:12
【问题描述】:

django 中是否有一个模板过滤器可以从输入文本中修剪任何前导或尾随空格。

类似:{{ var.example|trim }}

【问题讨论】:

    标签: django django-template-filters


    【解决方案1】:

    你可以自己做

    from django import template
    from django.template.defaultfilters import stringfilter
    
    register = template.Library()
    
    @register.filter
    @stringfilter
    def trim(value):
        return value.strip()
    

    Documentation

    【讨论】:

    • 使用{{ var.example.strip }}确实更简单,但是这里的这个解决方案也有它的用处。例如它允许你做{% filter trim %}{% someothertag %}{% endfilter %},这是不可能的。
    【解决方案2】:

    Django templates 允许您使用“.”访问方法和属性语法:

    {{ var.example.strip }}
    

    在处理 HTML 时,您可以通过链接其他过滤器来扩展它,例如:

    {{ var.example.strip|safe|removetags:"p img" }}
    

    这里我们首先删除所有的<p><img> 标签,然后告诉 Django 它可以安全地渲染剩下的内容,我们已经去掉了任何空白。

    【讨论】:

    猜你喜欢
    • 2018-07-23
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2011-04-12
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    相关资源
    最近更新 更多