Найти - Пользователи
Полная версия: подсветка поискового запроса
Начало » Django » подсветка поискового запроса
1
romankrv
Здравствуйте.

У меня сл. вопрос:

Какие (какой) способ есть для сл. случая:
В базе хранится текст в поле TextField. Для этого поля осуществляется поиск по словам.
Для этого я подготовил Queryset, в элементах которого в поле TextField есть эти поисковые слова.

Теперь вопрос собственно о способе подсветки поискового выражения при выводе в браузер этого поля TextField? То есть каким способом осуществлять подстановку нтмл тэгов, чтобы в браузере делалась подсветка данного слова). Например в текстовом поле(поле базы данных) содержится текст: “телефон 12345” поисковое слово “телефон”. Тогда вывод в браузере должен быть как: "телефон 12345".

Спасибо.
Ferroman
А свои соображения не скажешь?
romankrv
Ferroman
А свои соображения не скажешь?
Я предполагаю, что есть два пути:
1) на стороне сервера:
1.1 разбирать текст: Это найти поисковое слово в контексте – найти позицию символа предшествующею этому слову – вставить туда начальный тег – потом с конечным тегом тоже самое
1.2 какие то готовые решения (пока незнаю какие)

2) на стороне клиента: js или каким нибудь его фремворком (возможно есть что то для этого в арсенале у jquery)

Но я спрашиваю — возможно есть способы лучше этих, так сказать более правильные? т.к. с п.1.1 много кода будет. п.2 - не хотелось на клиента ложить функционал подсветки.

Вот мои мысли по этому поводу. Что можете сказать или подсказать?
romankrv
За JS решение спасибо.
Также был бы интересен вариант на стороне сервера.
Ferroman
Я бы сделал так - написал/взял/доделал кастом фильтр для тегов, который подсвечивал бы нужное слово (брал в нужный тег).
Передавал бы это слово, если вьюву передан параметр highlight с нужным словом/словосочитанием.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB