def results(request, template_name="search/results.html"): # get current search phrase q = request.GET.get('q', '') slug = request.GET.get('slug', '') print(slug) # get current page number. Set to 1 is missing or invalid try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 # retrieve the matching products matching = search.products(q).get('products') if len(slug) > 0: cat_id = Category.objects.get(slug=slug).id matching = search.products2(q, cat_id).get('products') print(matching) # generate the pagintor object paginator = Paginator(matching, settings.PRODUCTS_PER_PAGE) try: results = paginator.page(page).object_list except (InvalidPage, EmptyPage): results = paginator.page(1).object_list # store the search search.store(request, q) # the usual... page_title = 'Search Results for: ' + q return render(request, template_name, locals(), RequestContext(request))
def thesis_list(request, id, slug): conference = get_object_or_404(Conference, pk=id) theses = conference.thesis_set.all() form = ThesisFilterForm() search_form = SearchForm(search_text='Прізвище автора або назва статті') sort_param = None q = request.GET.get('q', '') thesis_message = '' if q: search_params = ('title', 'author__participant__user__lastname') theses = search_objects(q, theses, search_params, sort_param) store(request, q) section = request.GET.get('section', '') if section: form = ThesisFilterForm(request.GET) if form.is_valid(): if request.GET.get('section') != 'all': theses = theses.filter(section=request.GET.get('section')) number_of_search_result = str(len(theses)) if len(number_of_search_result) == 2 and number_of_search_result.startswith('1'): thesis_message = 'доповідей' else: for i in thesis_message_dict.keys(): if number_of_search_result[-1] in i: thesis_message = thesis_message_dict[i] context = paginate(theses, 4, request, {'theses': theses}, var_name='theses') context['conference'] = conference context['form'] = form context['search_form'] = search_form context['q'] = q context['section'] = section context['number_of_search_results'] = number_of_search_result context['thesis_message'] = thesis_message return render(request, 'conference_app/thesis_list.html', context)
def results(request, template_name="search/results.html"): # get current search phrase q = request.GET.get("q", "") # get current page number. Set to 1 is missing or invalid try: page = int(request.GET.get("page", 1)) except ValueError: page = 1 # retrieve the matching products matching = search.products(q).get("products") # generate the pagintor object paginator = Paginator(matching, settings.PRODUCTS_PER_PAGE) try: results = paginator.page(page).object_list except (InvalidPage, EmptyPage): results = paginator.page(1).object_list # store the search search.store(request, q) # the usual... page_title = "Search Results for: " + q return render(request, template_name, locals())
def results(request, template_name="search/results.html"): # get current search phrase q = request.GET.get('q', '') # get current page number. Set to 1 is missing or invalid try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 # retrieve the matching products matching = search.products(q).get('products') # generate the pagintor object paginator = Paginator(matching, settings.PRODUCTS_PER_PAGE) try: results = paginator.page(page).object_list except (InvalidPage, EmptyPage): results = paginator.page(1).object_list # store the search search.store(request, q) # the usual... page_title = 'Search Results for: ' + q return render(request, template_name, locals())
def results(request): q = request.GET.get('q', '') # get current page number. Set to 1 is missing or invalid try: page = int(request.GET.get('page', 1)) except ValueError: page=1 matching = search.products(q).get('products') # generate the pagintor object paginator = Paginator(matching,settings.PRODUCTS_PER_PAGE) try: results = paginator.page(page).object_list #list of matching products except (InvalidPage, EmptyPage): results = paginator.page(1).object_list search.store(request, q) page_title = 'Search Results for: ' + q return render_to_response("search/results.html", locals(),context_instance=RequestContext(request))
def products_search_results(request): products = Product.objects.all() q = request.GET.get('q', '') sort = request.GET.get('sort', '') sort_param = sort_dict.get(sort, None) search_params = ('name', 'category__name') matches = search.search_objects(q, products, search_params, sort_param) matches_len = len(matches) message = '' if len(str(matches_len)) == 2 and str(matches_len).startswith('1'): message = 'товарів' else: for i in dict_message.keys(): if str(matches_len)[-1] in i: message = dict_message[i] context = paginate(matches, 12, request, {'matches': matches}, var_name='matches') context['q'] = q context['sort'] = sort context['matches_len'] = matches_len context['message'] = message search.store(request, q) return render(request, 'shop/product_search.html', context)
def results(request, template_name="results.html"): """ template for displaying settings.PRODUCTS_PER_PAGE paginated product results """ # get current search phrase q = request.GET.get('q', '') matching = search.products(q).get('books', []) #---------------------pagination------------------------------------------------# try: page = int(request.GET.get('page', 1)) ## page number goes here except ValueError: page = 1 paginator = Paginator(matching, settings.BOOKS_PER_PAGE) try: results = paginator.page(page).object_list except (InvalidPage, EmptyPage): results = paginator.page(1).object_list #-----------------------------------------------------------------------------# search.store(request, q) page_title = 'Search Results for: ' + q context = locals() return render(request, template_name, context)
def results(request, template_name = "search/results.html"): q = request.GET.get('q', '') try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 matching = search.products(q).get('products') json_products = serializers.serialize('json', matching) paginator = Paginator(matching, 9) try: results = paginator.page(page).object_list except (InvalidPage, EmptyPage): results = paginator.page(1).object_list search.store(request, q) page_title = 'Search Results for: '+ q return render_to_response(template_name, locals(), context_instance = RequestContext(request))
def results(request): # get current search phrase q = request.GET.get('q', '') try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 # retrieve the matching products # matching = search.products(q).get('products', []) # print(matching) # retrieve the matching products matching = search.products(q).get('products') print(matching) # generate the pagintor object paginator = Paginator(matching, 12) try: results = paginator.page(page).object_list except (InvalidPage, EmptyPage): results = paginator.page(1).object_list # store the search search.store(request, q) page_title = 'Search Results for: ' + q return render(request, "search/results.html", {'q': q}) # def results(request): # """ template for displaying settings.PRODUCTS_PER_PAGE paginated product results """ # # get current search phrase # q = request.GET.get('q', '') # # get current page number. Set to 1 is missing or invalid # try: # page = int(request.GET.get('page', 1)) # except ValueError: # page = 1 # matching = search.products(q).get('products', []) # # generate the pagintor object # paginator = Paginator(matching, # settings.PRODUCTS_PER_PAGE) # try: # results = paginator.page(page).object_list # except (InvalidPage, EmptyPage): # results = paginator.page(1).object_list # search.store(request, q) # page_title = 'Search Results for: ' + q # return render_to_response(template_name, locals(), context_instance=RequestContext(request)) # from django.core.paginator import Paginator # PAGE_SIZE = 20 # def all_babysitters(request): # p = request.query_params.get("page", 1) # babysitters = Babysitter.objects.all() # paginator = Paginator(babysitters, PAGE_SIZE) # # page = paginator.page(p) # ~ Django 1.11 # # The following line was added, see comments below for why # page = paginator.get_page(p) # Django 2.0 + # nextpage = page.next_page_number() if page.has_next() else None # data = BabySitterSerializer([i for i in page.object_list], many=True) # pages = { # "current": p, # "next": nextpage, # "total_pages": paginator.num_pages # "total_results": paginator.count # } # return { # "page_data": pages # "data": data # }