【问题标题】:Unescape search results with django haystack and elasticsearch使用 django haystack 和 elasticsearch 对搜索结果进行转义
【发布时间】:2014-12-21 15:31:00
【问题描述】:

我正在使用带有 elasticsearch 后端的 django-haystack。数据包含可能包含特殊字符的书籍名称,例如 &、' 或 ""。索引数据转义这些字符,搜索结果显示转义数据。我如何告诉 haystack 或 elasticsearch

  1. 关闭转义
    或者
  2. 当我想在非 HTML 上下文(即纯文本)中使用结果时取消转义字符?

这是我的代码:

#search_indexes.py
class Book(indexes.SearchIndex, indexes.Indexable):
    text = indexes.EdgeNgramField(document=True, use_template=True)

    def get_model(self):
        return Book

#template
{{object.name}}

#query
SearchQuerySet().autocomplete(text=my_query)

【问题讨论】:

    标签: django elasticsearch django-haystack


    【解决方案1】:

    在您的模板中,您可以使用以下过滤器和标签:

    {% autoescape on %}
        {{ object.name }}
    {% endautoescape %}
    

    或

    {{ object.name|striptags }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 2017-12-12
      • 1970-01-01
      相关资源
      最近更新 更多