我正在使用它删除
{{i.content|truncatewords:30|striptags|safe|cut:" "}}
但它不会在单词之间留下空格。
我想用空格替换每个
。
答案 0 :(得分:1)
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
会处理这个问题。