2014-10-26 1 views
1

Я использую django-haystack с elasticearch backend. Данные содержат имена книг, которые могут содержать специальные символы, такие как &, ' или "". Индексированные данные ускользают от этих символов, а результаты поиска показывают экранированные данные. Как сказать стог сена или elasticsearch кUnescape результаты поиска с django 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) 

ответ

1

В шаблоне вы можете использовать фильтры и теги, как:

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

или

{{ object.name|striptags }}