Python django-自定义筛选器工作不正常

Python django-自定义筛选器工作不正常,python,django,django-custom-tags,Python,Django,Django Custom Tags,我正在编写一个自定义过滤器,如果给定文本中包含一个或多个字符,则该过滤器应使用高亮显示该字符 这是我的自定义过滤器: @register.filter(needs_autoescape=True) def highlight(text, sterm, autoescape=None): if autoescape: esc = conditional_escape else: esc = lambda x: x result = text.repla

我正在编写一个自定义过滤器,如果给定文本中包含一个或多个字符,则该过滤器应使用
高亮显示该字符

这是我的自定义过滤器:

@register.filter(needs_autoescape=True)
def highlight(text, sterm, autoescape=None):
   if autoescape:
       esc = conditional_escape
   else:
       esc = lambda x: x
   result = text.replace(esc(sterm),'<strong>'+esc(sterm)+'</strong>')
   return mark_safe(result)
问题在于它突出显示了匹配术语后面的所有文本:

正如你所看到的,第一个障碍是现在正在发生的事情。我想完成第二个街区。我搜索了
级别

我的代码有什么问题


编辑:对不起,这是我的打字错误。我没有正确关闭
,现在它像一个魔咒一样工作了!:)。我把这个放在这里,这样其他人可以利用它

这是我的输入错误:我没有在过滤函数中正确关闭


现在它像一个魅力

只要将你的解决方案作为答案发布,然后接受它:)@alecxe你是对的。谢谢你,伙计:)@alecxe嘿,Alex,有一个简单的问题:在应用我的过滤器后,我想让
capfirst
像这样
{var | highlight:term | capfirst}
但是
capfirst
失败了,你知道为什么吗?当然,你可以尝试用它来链接过滤器,或者只需在突出显示
之前应用
capfirst
:)@alecxe谢谢,但我先应用了
capfirst
,然后应用了我的过滤器,没有成功。我想我需要换个过滤器。
{{search_result_text|highlight:searchterm}}