用于修剪任何前导或尾随空格的模板过滤器

Joh*_*ohn 28 django django-template-filters

django中是否有模板过滤器,它将修剪输入文本中的任何前导或尾随空格.

就像是: {{ var.example|trim }}

Luk*_*eau 84

Django模板允许您使用'.'访问方法和属性.句法:

{{ var.example.strip }}
Run Code Online (Sandbox Code Playgroud)

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

{{ var.example.strip|safe|removetags:"p img" }}
Run Code Online (Sandbox Code Playgroud)

这里我们首先删除任何<p><img>标签,然后告诉Django它可以安全地呈现其余的内容,我们已经删除了任何空格.

  • 是记录还是非官方的伎俩? (4认同)
  • 它不是Django函数,而是Python的函数.它在此处记录:https://docs.python.org/2/library/stdtypes.html#str.strip.Django模板变量的文档:https://docs.djangoproject.com/en/dev/ref/templates/language/#variables (3认同)
  • 一条评论 - 从'django 1.10开始删除`removetags`过滤器,所以要小心 (3认同)

San*_*4ez 20

你可以自己做

from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()

@register.filter
@stringfilter
def trim(value):
    return value.strip()
Run Code Online (Sandbox Code Playgroud)

文档

  • 使用`{{var.example.strip}}`确实简单,但是在这里这种解决方案也有其用途.例如,它可以让你做`{%过滤器装饰%} {%someothertag%} {%endfilter%}`,它是没有其他可能. (2认同)