Найти - Пользователи
Полная версия: Поиск с выводом части текста
Начало » Django » Поиск с выводом части текста
1
zlodiak
вопрос у меня отчасти телепатический, но меня устроит если только укажете направление, в котором копать

сделал встроенными средствами django1.6 простейший поиск. вот его основа

def search_result(request): message = '' result = None
if 'search_phrase' in request.GET and request.GET['search_phrase']:
    try:
        search_phrase = request.GET['search_phrase']
        result = Page.objects.filter(Q(title__icontains=search_phrase)|Q(content__icontains=search_phrase))
        if not len(result):
            message = u'По вашему запросу не найдено ни одной статьи.'
    except Exception:
        message = u'Извините. В данный момент доступ к базе данных невозможен. Попробуйте повторить ваш запрос позже.'
else:
    message = u'Вы не ввели данные в строку запроса'
t = loader.get_template('search_result.html')
c = RequestContext(request, {
    'result': result, 
    'message': message,
    'title': 'Результаты поиска',
})
return HttpResponse(t.render(c))
он работает, но в результате выводит только список заголовков страниц, в которых нашлисб совпадения, а хотелось бы чтобы выводилось так же часть текста, в котором нашлась искомая фраза. например 100 символов до, сама фраза поиска, сто символов после. такое возможно сделать, используя только встроенные средства? если да, то как скажите пожалуйста
FishHook
>>> но в результате выводит
Где выводит в каком месте и как?
>>> такое возможно сделать
Возможно, запросы придется разделить на поиск по заголовку и поиск по контенту, а дальше в цикле решить задачу поиска вхождения подстроки в строку и разбиения строки на 100 символов до, сама фраза поиска, сто символов после
zlodiak
в общем помогло. спасибо
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