##// END OF EJS Templates
Use own search form and view
Use own search form and view

File last commit:

r718:056bdb08 default
r718:056bdb08 default
Show More
search.py
31 lines | 1.0 KiB | text/x-python | PythonLexer
from django.shortcuts import render
from django.template import RequestContext
from django.views.generic import View
from haystack.query import SearchQuerySet
from boards.abstracts.paginator import get_paginator
from boards.forms import SearchForm, PlainErrorList
__author__ = 'neko259'
TEMPLATE = 'search/search.html'
class BoardSearchView(View):
def get(self, request):
context = RequestContext(request)
form = SearchForm(request.GET, error_class=PlainErrorList)
context['form'] = form
if form.is_valid():
query = form.cleaned_data['query']
if len(query) >= 3:
results = SearchQuerySet().auto_query(query).order_by('-id') \
.highlight()
paginator = get_paginator(results, 10)
if 'page' in request.GET:
page = int(request.GET['page'])
else:
page = 1
context['page'] = paginator.page(page)
return render(request, TEMPLATE, context)