def full_search(request): """全局搜索""" keywords = request.GET['q'] sform = SearchForm(request.GET) posts = sform.search() return render(request, 'blog/post_search_list.html', {'posts': posts, 'list_header': '关键字 \'{}\' 搜索结果'.format(keywords)})
def __init__(self, *args, **kwargs): slug = kwargs.pop('slug') project = Project.objects.get(slug=slug) kwargs['searchqueryset'] = (kwargs.get('searchqueryset') or SearchQuerySet()).models(Document).filter(project=project.id) SearchForm.__init__(self, *args, **kwargs)
def bids(request): context = {} #### TOP #### bids = Bid.objects.filter(_status__exact='C') top_answers = [] for bid in bids: try: top_answers.append(Answer.objects.filter(bid=bid.id).order_by('price')[0]) except: pass context['top_answers'] = top_answers #### ALL_BIDS #### bids = Bid.objects.all() context["bids"] = bids #### SEARCH ####! from haystack.forms import SearchForm form = SearchForm(request.GET) query = form.search() try: if request.GET["q"]: context["is_search"] = True except: pass context["form"] = form context["query"] = query bid_form = bid_create(request, True) #if request.method == "POST" context["bid_form"] = bid_form return render(request, "core/bids.html", context)
def full_search(request): sform = SearchForm(request.GET) posts = sform.search() template = 'defaule/app/search-text.html' c = Context({'posts': posts}) return render_to_response(template, c)
def search(request): mblogs=Blog.objects.all().order_by('-visitors')[:5] keywords=request.GET['q'] keywords.encode('gb2312') sform=SearchForm(request.GET) blogs=sform.search() return render(request,'blog/search.html',{'mblogs':mblogs,'blogs':blogs,'list_header':'关键字\'{}\'搜索结果'.format(keywords)})
def search(request): sqs = SearchQuerySet().models(Method) if request.GET.get('q'): form = SearchForm(request.GET, searchqueryset=sqs) if form.is_valid(): query = form.cleaned_data['q'] results = form.search() paginator = Paginator(results, 10) try: page = paginator.page(int(request.GET.get('page', 1))) except InvalidPage: raise Http404("No such page of results!") else: form = SearchForm(searchqueryset=sqs) paginator = None page = None query = request.GET.get('q') context = { 'form': form, 'page': page, 'paginator': paginator, 'query': query, 'suggestion': None, } return render_to_response('search/method_search.html', context, context_instance=RequestContext(request))
def search(request): """Simple search tool""" context = get_context(request) context['simple_query'] = get_simple_query(request) if 'q' not in request.GET: return redirect('/') query = request.GET['q'].strip() if query == '': return redirect('/') form = SearchForm(request.GET) page = request.GET.get('page') if settings.ELASTICSEARCH is True: sqs = form.search() sqs.spelling_suggestion() results = "" paginator = "" if sqs: paginator = Paginator(sqs, 25) try: results = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. results = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. results = paginator.page(paginator.num_pages) context['page'] = results context['paginator'] = paginator context['results'] = results context['voucher_code_list'] = get_voucher_code_list(sqs) context['url_encoded_query'] = get_correct_url_query( request.GET.urlencode()) context['result_count'] = len(sqs) return render(request, 'public_interface/search_results.html', context) else: sqs = Vouchers.objects.filter( Q(orden__icontains=query) | Q(genus__icontains=query) | Q(species__icontains=query) | Q(code__icontains=query), ) results = "" paginator = "" if sqs: paginator = Paginator(sqs, 25) try: results = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. results = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. results = paginator.page(paginator.num_pages) context["result_count"] = sqs.count() context['page'] = results context['paginator'] = paginator context['results'] = results return render(request, 'public_interface/search_results.html', context)
def __init__(self, *args, **kwargs): slug = kwargs.pop('slug') project = Project.objects.get(slug=slug) kwargs['searchqueryset'] = ( kwargs.get('searchqueryset') or SearchQuerySet()).models(Document).filter(project=project.id) SearchForm.__init__(self, *args, **kwargs)
def search(request): form = SearchForm(request.GET or None) posts = None if form.data != {} and form.is_valid(): posts = form.search() return render_to_response('search/search.html', { 'posts': posts }, context_instance=RequestContext(request))
def full_search(request): """全局搜索""" keywords = request.GET["q"] sform = SearchForm(request.GET) posts = sform.search() return render( request, "blog/post_search_list.html", {"posts": posts, "list_header": "关键字 '{}' 搜索结果".format(keywords)} )
def test_unbound(self): sf = SearchForm({}, searchqueryset=self.sqs) self.assertEqual(sf.errors, {}) self.assertEqual(sf.is_valid(), True) # This shouldn't blow up. sqs = sf.search() self.assertTrue(isinstance(sqs, EmptySearchQuerySet))
def full_search(request): """全局搜索""" keywords = request.GET['q'] if keywords: sform = SearchForm(request.GET) posts = sform.search() return render(request, 'qs/post_search_list.html', {'posts': posts, 'list_header': '关键字 \'{}\' 搜索结果'.format(keywords)}) else: return redirect('index')
def search(request): results = EmptySearchQuerySet() query = request.GET.get('q') if query: form = SearchForm(request.GET) if form.is_valid(): results = form.search() else: form = SearchForm() return render(request, 'search/search.html', {'form':form, 'results':results, 'query':query})
def full_search(request): """全局搜索""" keywords = request.GET['q'] # 搜索的关键词为用户输入的变量q,该变量是通过前端页面获取的,templates/blog/base.html中32行代码 sform = SearchForm(request.GET) # 搜索表单 posts = sform.search() # 定义搜索对象 return render(request, 'blog/post_search_list.html', {'posts': posts, 'list_header': '关键字 \'{}\' 搜索结果'.format(keywords)})
def full_text_search(request): keyword = request.GET['q'] sform = SearchForm(request.GET) blogs = sform.search() print(blogs.all()) for t in blogs.all(): print(t) return render(request, 'searchResult.html', { "blogs": blogs.all(), 'list_header': '关键字 \'{}\' '.format(keyword) })
def search_blog(request): rs = request.GET['q'] # print(rs) form = SearchForm(request.GET) res = form.search() # res = SearchQuerySet().models(ckeditorBlog).filter(content=rs).load_all() # print(res) # for i in posts: # print(i) # print(posts) return render(request, 'search/search.html', {'res': res})
def full_search(request): """全局搜索""" keywords = request.GET['q'] sform = SearchForm(request.GET) posts = sform.search() print '------start' for post in posts: print post.title print 'you' print '-------end' return render(request, 'blog/post_search_list.html', {'posts': posts, 'list_header':'关键字\'{}\'搜索结果'.format(keywords)})
def post_search(request): form = SearchForm() search_dict =None if 'q' in request.GET: form = SearchForm(request.GET) cd = request.GET['q'] posts = form.search() total_results = posts.count() search_dict = {'posts': posts, 'keyword': cd, 'total_results': total_results, 'form': form,} return render(request, 'blog/post/search.html', search_dict)
def find_keywords(cls, text): whoosh_backend = SearchForm().searchqueryset.query.backend if not whoosh_backend.setup_complete: whoosh_backend.setup() with whoosh_backend.index.searcher() as searcher: keywords = searcher.key_terms_from_text( 'text', text, numterms=10, normalize=False) keywords = list(zip(*keywords))[0] if keywords else [] keywords = [cls._find_representative(keyword, text) for keyword in keywords] keywords = [keyword for keyword in keywords if cls._is_good_keyword(keyword)] #no double keywords in list keywords = list(set(keywords)) #no punctuation in suggested keywords keywords = [''.join(c for c in s if c not in string.punctuation) for s in keywords] return keywords
class GenericBaseViewMixin(object): search_form = SearchForm() def get_search_form(self, **kwargs): """Add the search form to view """ return self.search_form
def forms(request): context = {"search_form": SearchForm()} if not request.user.is_authenticated(): context["login_form"] = AuthenticationForm() # TODO: optimize context["party"], created = Party.objects.get_or_create( site=get_current_site(request)) context["ANALYTICS_ID"] = getattr(settings, 'ANALYTICS_ID', False) return context
def get_queryset(self): query = '' results = [] if self.request.QUERY_PARAMS.get('q'): # limit searchqueryset to appropriate model searchqueryset = SearchQuerySet().models(self.model) # then perform a search on specific model. form = SearchForm(self.request.QUERY_PARAMS, searchqueryset=searchqueryset, load_all=True) if form.is_valid(): query = form.cleaned_data['q'] results = form.search() results = self.filter_results(results) # for odd reasons there are duplicates in the haystack results. results = list_dedup([r.object for r in results]) return results
def my_search(request): form = SearchForm() activities = Stub.objects.filter(group="activities") about = Stub.objects.filter(group="about") return { 'mysearchform': form, "activitystubs": activities, "aboutstubs": about }
def process_query(query, email): """Function for processing of a request and sending email with results using celery""" form = SearchForm({'q': query}) # Launch searching books = form.search() # sending email with results subject = 'Results of books searching' html_content = render_to_string('books/results_email.html', { 'query': query, 'books': books, }) text_content = strip_tags(html_content) send_mail(subject, text_content, settings.DEFAULT_FROM_EMAIL, [email], fail_silently=True, html_message=html_content)
def index(request): if (request.GET.get("q", None) != None): return SearchView(template="books/index.html")(request) rand_books = Book.objects.all().order_by("?")[:10] return render(request, 'books/index.html', { 'books': rand_books, 'form': SearchForm() })
def search(request): """Simple search tool""" context = get_context(request) if 'q' not in request.GET: return redirect('/') query = request.GET['q'].strip() if query == '': return redirect('/') form = SearchForm(request.GET) page = request.GET.get('page') if settings.ELASTICSEARCH is True: sqs = form.search() sqs.spelling_suggestion() results = "" paginator = "" if sqs: paginator = Paginator(sqs, 25) try: results = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. results = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. results = paginator.page(paginator.num_pages) context['page'] = results context['paginator'] = paginator context['results'] = results context['voucher_code_list'] = get_voucher_code_list(sqs) context['simple_query'] = get_simple_query(request) context['url_encoded_query'] = get_correct_url_query(request.GET.urlencode()) context['result_count'] = len(sqs) return render(request, 'public_interface/search_results.html', context) else: sqs = Vouchers.objects.filter( Q(genus__icontains=query) | Q(species__icontains=query) | Q(code__icontains=query), ) context["result_count"] = len(sqs) context["page"] = {'object_list': sqs} return render(request, 'public_interface/search_results.html', context)
def full_search(request): """全局搜索""" keywords = request.GET['q'] form = SearchForm(request.GET) articles = form.search() try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(articles, 1, request=request) articles = p.page(page) return render(request, 'home/article_search_list.html', context={ 'articles': articles, 'keywords': '关键字 \'{}\' 搜索结果'.format(keywords) })
def search(request): """Simple search tool""" if 'q' not in request.GET: return redirect('/') query = request.GET['q'].strip() if query == '': return redirect('/') form = SearchForm(request.GET) sqs = form.search() sqs.spelling_suggestion() search_view = VoSeqSearchView( template='public_interface/search_results.html', searchqueryset=sqs, form_class=SearchForm, url_encoded_query=request.GET.urlencode(), ) search_view.__call__(request) return search_view.create_response()
def search_helper(request, searchqueryset, pagination_function): """ Description: Helper function by searching Based off haystack.views.basic_search() Arguments: - request: HttpRequest object - searchqueryset: SearchQuerySet limited to a model by calling SearchQuerySet().models() - pagination_function: Helper function for use in paginating the search results Return: Dictionary with keys coming from pagination_function. Two New keys will be added to it: - query: search query - suggestion: backend-suggested search query Author: Nnoduka Eruchalu """ query = '' results = EmptySearchQuerySet() suggestion = False search_list = [] if request.GET.get('q'): form = SearchForm(request.GET, searchqueryset=searchqueryset, load_all=True) if form.is_valid(): query = form.cleaned_data['q'] results = form.search() # for odd reasons there are duplicates in the haystack results... search_list = list_dedup([r.object for r in results]) if results.query.backend.include_spelling: suggestion = form.get_suggestion() context = pagination_function(request, search_list) context['query'] = query context['suggestion'] = suggestion return context
def find_keywords(cls, text): whoosh_backend = SearchForm().searchqueryset.query.backend if not whoosh_backend.setup_complete: whoosh_backend.setup() with whoosh_backend.index.searcher() as searcher: keywords = searcher.key_terms_from_text("text", text, numterms=10, normalize=False) keywords = list(zip(*keywords))[0] if keywords else [] keywords = [ cls._find_representative(keyword, text) for keyword in keywords ] keywords = [ keyword for keyword in keywords if cls._is_good_keyword(keyword) ] # no double keywords in list keywords = list(set(keywords)) # no punctuation in suggested keywords keywords = [ "".join(c for c in s if c not in string.punctuation) for s in keywords ] return keywords
def search_all(request): rs = request.GET.get('q', False) form = SearchForm(request.GET) searchResult = form.search() # print(searchResult.query) # for i in posts: # print(i.object.title) paginator = Paginator(searchResult, 6) page = request.GET.get('page') try: posts = paginator.page(page) except PageNotAnInteger: posts = paginator.page(1) except EmptyPage: posts = paginator.page(paginator.num_pages) studyNotes = studyNote.objects.all() ckeditorBlogs = ckeditorBlog.objects.all() return render( request, 'search/search_result.html', { 'posts': posts, 'rs': rs, 'studyNotes': studyNotes, 'ckeditorBlogs': ckeditorBlogs })
def newsearchView(request): if request.user.is_authenticated: user = request.user else: user = get_user(request) username = request.user.username searchForm = SearchForm() if request.method == 'GET': keyword = request.GET['q'] all_result = SearchQuerySet().filter(content=AutoQuery(keyword)) content = { 'searchResult': all_result, 'curruser': user, 'msgcount': getmsgcount(username), 'searchform': searchForm, 'query': keyword } else: content = { 'curruser': user, 'msgcount': getmsgcount(username), 'searchform': searchForm } return render(request, 'myblog/newsearch.html', content)
def test_form_suggestion(self): form = SearchForm({'q': 'exampl'}) self.assertEqual(form.get_suggestion(), 'example')
def search(request): """ Returns messages corresponding to a query """ mlist_fqdn = request.GET.get("mlist") if mlist_fqdn is None: mlist = None else: try: mlist = MailingList.objects.get(name=mlist_fqdn) except MailingList.DoesNotExist: raise Http404("No archived mailing-list by that name.") if not is_mlist_authorized(request, mlist): return render(request, "hyperkitty/errors/private.html", { "mlist": mlist, }, status=403) query = '' results = EmptySearchQuerySet() sqs = RelatedSearchQuerySet() # Remove private non-subscribed lists if mlist is not None: sqs = sqs.filter(mailinglist__exact=mlist.name) else: excluded_mlists = MailingList.objects.filter( archive_policy=ArchivePolicy.private.value) if request.user.is_authenticated(): subscriptions = request.user.hyperkitty_profile.get_subscriptions() excluded_mlists = excluded_mlists.exclude( list_id__in=subscriptions.keys()) excluded_mlists = excluded_mlists.values_list("name", flat=True) sqs = sqs.exclude(mailinglist__in=excluded_mlists) # Sorting sort_mode = request.GET.get('sort') if sort_mode == "date-asc": sqs = sqs.order_by("date") elif sort_mode == "date-desc": sqs = sqs.order_by("-date") # Handle data if request.GET.get('q'): form = SearchForm( request.GET, searchqueryset=sqs, load_all=True) if form.is_valid(): query = form.cleaned_data['q'] results = form.search() else: form = SearchForm(searchqueryset=sqs, load_all=True) emails = paginate(results, page_num=request.GET.get('page')) for email in emails: if request.user.is_authenticated(): email.object.myvote = email.object.votes.filter(user=request.user).first() else: email.object.myvote = None context = { 'mlist' : mlist, 'form': form, 'emails': emails, 'query': query, 'sort_mode': sort_mode, 'suggestion': None, } if results.query.backend.include_spelling: context['suggestion'] = form.get_suggestion() return render(request, "hyperkitty/search_results.html", context)
def full_search(request): sform = SearchForm(request.GET) members = sform.search() return render(request, 'union/full_search.html', {'members': members})
def search(request): """ Returns messages corresponding to a query """ mlist_fqdn = request.GET.get("mlist") if mlist_fqdn is None: mlist = None else: try: mlist = MailingList.objects.get(name=mlist_fqdn) except MailingList.DoesNotExist: raise Http404("No archived mailing-list by that name.") if not is_mlist_authorized(request, mlist): return render(request, "hyperkitty/errors/private.html", { "mlist": mlist, }, status=403) query = '' results = EmptySearchQuerySet() sqs = RelatedSearchQuerySet() # Remove private non-subscribed lists if mlist is not None: sqs = sqs.filter(mailinglist__exact=mlist.name) else: excluded_mlists = MailingList.objects.filter( archive_policy=ArchivePolicy.private.value) if request.user.is_authenticated: subscriptions = get_subscriptions(request.user) excluded_mlists = excluded_mlists.exclude( list_id__in=subscriptions.keys()) excluded_mlists = excluded_mlists.values_list("name", flat=True) sqs = sqs.exclude(mailinglist__in=excluded_mlists) # Sorting sort_mode = request.GET.get('sort') if sort_mode == "date-asc": sqs = sqs.order_by("date") elif sort_mode == "date-desc": sqs = sqs.order_by("-date") # Handle data if request.GET.get('q'): form = SearchForm(request.GET, searchqueryset=sqs, load_all=True) if form.is_valid(): query = form.cleaned_data['q'] results = form.search() else: form = SearchForm(searchqueryset=sqs, load_all=True) try: emails = paginate( results, request.GET.get('page'), request.GET.get('count'), ) except Exception as e: backend = settings.HAYSTACK_CONNECTIONS[DEFAULT_ALIAS]["ENGINE"] if backend == "haystack.backends.whoosh_backend.WhooshEngine": from whoosh.qparser.common import QueryParserError search_exception = QueryParserError if backend == "xapian_backend.XapianEngine": from xapian import QueryParserError search_exception = QueryParserError if not isinstance(e, search_exception): raise emails = paginate([]) form.add_error( "q", ValidationError( _('Parsing error: %(error)s'), params={"error": e}, code="parse", )) for email in emails: if request.user.is_authenticated: email.object.myvote = email.object.votes.filter( user=request.user).first() else: email.object.myvote = None context = { 'mlist': mlist, 'form': form, 'emails': emails, 'query': query, 'sort_mode': sort_mode, 'suggestion': None, } if results.query.backend.include_spelling: context['suggestion'] = form.get_suggestion() return render(request, "hyperkitty/search_results.html", context)
def test_form_suggestion(self): form = SearchForm({"q": "exampl"}, searchqueryset=SearchQuerySet("whoosh")) self.assertEqual(form.get_suggestion(), "example")
def __getattribute__(self, name): if name.startswith('sort_link_'): return self.sort_link(name.replace('sort_link_', '')) else: # Default behaviour return SearchForm.__getattribute__(self, name)
def test_form_suggestion(self): form = SearchForm({'q': 'exampl'}, searchqueryset=SearchQuerySet('whoosh')) self.assertEqual(form.get_suggestion(), 'example')
def search(request): """ Description: Handles requests from site's search bar Based off haystack.views.basic_search() Arguments: request: HttpRequest object Return: HttpResponse object showing search results with following additional details - query: search query - suggestion: backend-suggested search query Author: Nnoduka Eruchalu """ query = "" results = EmptySearchQuerySet() suggestion = False if request.GET.get("q"): form = SearchForm(request.GET, searchqueryset=None, load_all=True) if form.is_valid(): query = form.cleaned_data["q"] results = form.search() if results.query.backend.include_spelling: suggestion = form.get_suggestion() search_list = [r.object for r in results] paginator = Paginator(search_list, settings.RESULTS_PER_PAGE) page = request.GET.get("page") try: results = paginator.page(page) except PageNotAnInteger: # if page is not an integer, deliver first page. results = paginator.page(1) except EmptyPage: # if page is out of range (e.g. 999), deliver last page of results results = paginator.page(paginator.num_pages) if results.has_next(): next_page_num = results.next_page_number() else: next_page_num = 0 # way of indicating no more pages... 1 index'd helped! if results.has_previous(): prev_page_num = results.previous_page_number() else: prev_page_num = 0 results = results.object_list return render_to_response( "search/search.html", { "query": query, "suggestion": suggestion, "results": results, "next_page": next_page_num, "prev_page": prev_page_num, }, context_instance=RequestContext(request), )
def get_haystack_results(request): hs_form = SearchForm(request.GET) if hs_form.is_valid(): return hs_form.search() return []
def Search(request): form = SearchForm(request.GET) results = form.search() return render_to_response('search/search.html', {'results': results})
def images_search(request): """ View to make search of images. :param request: Request to serve """ query = '' time_start = '' time_end = '' post = request.POST enable_checkboxes = False if request.method == 'GET' and request.GET.get('q') is not None: request.method = 'POST' enable_checkboxes = True post = {'q': request.GET['q'], 'time_start': request.GET.get('time_start', ''), 'time_end': request.GET.get('time_end', '')} if request.method == 'POST': # Check if session have to be deleted if post.get('clear_form'): request.session.flush() pass # New search, clear data stored in session request.session['results_images'] = None form = SearchForm(post) restart = post.get('restart') is not None if form.is_valid(): images = [] categories_to_search = [] query = form.cleaned_data['q'] if not restart else '' # Get categories to search and get left menu data for i in ImageCategory.objects.filter(visible_on_website=True): category_images = {} category_images["label_name"] = i.label category_images["label_code"] = i.value category_images["images"] = [] search_set = SearchQuerySet().models(Image).filter(category_label__exact=i.label, ready_to_go=True).order_by('date') category_images["number_of_images"] = len(search_set) if restart or enable_checkboxes or post.get("checkbox" + str(i.value)): categories_to_search.append(i.label) images.append(category_images) images = sorted(images, key=lambda k: k["label_name"]) time_start = post.get('time_start') if not restart else '' time_end = post.get('time_end') if not restart else '' # Options if query is provided if query != "": if time_start != "" and time_end != "": results = \ SearchQuerySet().filter(imgtext__icontains=query, ready_to_go=True, category_label__in=categories_to_search, date__gte=time_start, date__lte=time_end).models(Image).\ order_by('date') elif time_start != "": results = \ SearchQuerySet().filter(imgtext__icontains=query, ready_to_go=True, category_label__in=categories_to_search, date__gte=time_start).models(Image).\ order_by('date') elif time_end != "": results = \ SearchQuerySet().filter(imgtext__icontains=query, ready_to_go=True, category_label__in=categories_to_search, date__lte=time_end).models(Image).\ order_by('date') else: results = \ SearchQuerySet().filter(imgtext__icontains=query, ready_to_go=True, category_label__in=categories_to_search).models(Image).\ order_by('date') elif time_start != "" or time_end != "": if time_start != "" and time_end != "": results = \ SearchQuerySet().filter(ready_to_go=True, category_label__in=categories_to_search, date__gte=time_start, date__lte=time_end).models(Image).\ order_by('date') elif time_start != "": results = \ SearchQuerySet().filter(ready_to_go=True, category_label__in=categories_to_search, date__gte=time_start).models(Image).\ order_by('date') elif time_end != "": results = \ SearchQuerySet().filter(ready_to_go=True, category_label__in=categories_to_search, date__lte=time_end).models(Image).\ order_by('date') else: if len(categories_to_search) == 1: return HttpResponseRedirect(reverse('resources:images-category', kwargs={'category': categories_to_search.pop()})) else: results = SearchQuerySet().all().filter(ready_to_go=True, category_label__in=categories_to_search).\ order_by('date') else: if len(categories_to_search) > 1: results = SearchQuerySet().all().filter(ready_to_go=True, category_label__in=categories_to_search).\ order_by('date') else: return HttpResponseRedirect(reverse('resources:images-category', kwargs={'category': categories_to_search.pop()})) else: results = SearchQuerySet().model(Image).all() # Store results in session request.session['results_images'] = results request.session['images_images'] = images request.session['enabled_categories'] = categories_to_search request.session['query'] = query request.session['time_start'] = time_start request.session['time_end'] = time_end else: results = request.session.get('results_images') images = request.session.get('images_images') return render(request, 'resources/images-search-results.html', {'results': results, 'images': images, 'query': request.session['query'], 'time_start': request.session['time_start'], 'time_end': request.session['time_end'], 'enabled_categories': request.session['enabled_categories']})
def __init__(self, *args, **kwargs): SearchForm.__init__(self, *args, **kwargs)
def test_form_suggestion(self): form = SearchForm({'q': 'exampl'}) self.assertEqual(form.get_suggestion(), '')
def full_search(request): sform = SearchForm(request.GET) return render(request, 'search/s.html', {'posts': posts, 'form': sform})
def extra_context(self): context = super(blogSearchView, self).extra_context() searchform = SearchForm() context['searchform'] = searchform return context
def notes(request): form = SearchForm(request.GET) notes = form.search() return render_to_response('notes.html', {'notes': notes})