django - 自定义过滤器无法正常工作

时间:2014-05-13 15:02:15

标签: python django django-custom-tags

我正在编写一个自定义过滤器,如果此char或chars包含在给定文本中,则应使用<strong>高亮显示char或chars。

这是我的自定义过滤器:

@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)

并在模板I {% load %}中以这种方式编辑和使用:

{{search_result_text|highlight:searchterm}}

问题是它突出显示匹配术语之后的所有文本:

enter image description here

如你所见,第一个块就是现在正在发生的事情。我想实现第二个块。我搜索了level

我的代码出了什么问题?

编辑:抱歉,这是我的错字。我没有正确地关闭<strong>,现在它就像一个魅力! :)。我把它留在这里,以便其他人可以利用它。

1 个答案:

答案 0 :(得分:2)

这是我的错字:我没有在我的过滤功能中正确关闭<strong>

现在它的工作就像一个魅力!