【发布时间】:2012-05-08 19:52:12
【问题描述】:
django 中是否有一个模板过滤器可以从输入文本中修剪任何前导或尾随空格。
类似:{{ var.example|trim }}
【问题讨论】:
标签: django django-template-filters
django 中是否有一个模板过滤器可以从输入文本中修剪任何前导或尾随空格。
类似:{{ var.example|trim }}
【问题讨论】:
标签: django django-template-filters
你可以自己做
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter
@stringfilter
def trim(value):
return value.strip()
【讨论】:
{{ var.example.strip }}确实更简单,但是这里的这个解决方案也有它的用处。例如它允许你做{% filter trim %}{% someothertag %}{% endfilter %},这是不可能的。
Django templates 允许您使用“.”访问方法和属性语法:
{{ var.example.strip }}
在处理 HTML 时,您可以通过链接其他过滤器来扩展它,例如:
{{ var.example.strip|safe|removetags:"p img" }}
这里我们首先删除所有的<p> 和<img> 标签,然后告诉 Django 它可以安全地渲染剩下的内容,我们已经去掉了任何空白。
【讨论】:
removetags 过滤器从 django 1.10 开始被删除,所以要小心