如何更换白色空间

时间:2018-04-17 14:54:11

标签: python django

我正在使用它删除

{{i.content|truncatewords:30|striptags|safe|cut:" "}}

但它不会在单词之间留下空格。

我想用空格替换每个 

1 个答案:

答案 0 :(得分:1)

使用custom filter

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

register = template.Library()

@register.filter(name='nbsp2space', is_safe=True)
@stringfilter
def nbsp2space(value):
    return re.sub(' ', ' ', value, flags=re.IGNORECASE)

一样使用它
{{i.content|truncatewords:30|striptags|safe|nbsp2space}}

注意:@register.filter(name='nbsp2space')使用提供的名称注册过滤器。如果未提供名称,则使用该函数的实际名称。  is_safe=True说我们没有在值中引入不安全的字符。 @stringfilter确保参数始终为字符串。 re.sub()使用了str.replace(),因为 可能是大写或小写,而re.IGNORECASE会处理这个问题。