def search(request): result_list = [] if request.method == 'POST': query = request.POST['query'].strip() if query: # Run our Bing function to get the results list! result_list = run_query(query) return render(request, 'love/search.html', {'result_list': result_list})
def category(request, category_name_slug): # Create a context dictionary which we can pass to the template rendering engine. context_dict = {} context_dict['result_list'] = None context_dict['query'] = None if request.method == 'POST': query = request.POST['query'].strip() if query: # Run our Bing function to get the results list! result_list = run_query(query) context_dict['result_list'] = result_list context_dict['query'] = query try: # Can we find a category name slug with the given name? # If we can't, the .get() method raises a DoesNotExist exception. # So the .get() method returns one model instance or raises an exception. category = Category.objects.get(slug=category_name_slug) context_dict['category_name'] = category.name # Retrieve all of the associated pages. # Note that filter returns >= 1 model instance. pages = Page.objects.filter(category=category).order_by('-views') # Adds our results list to the template context under name pages. context_dict['pages'] = pages # We also add the category object from the database to the context dictionary. # We'll use this in the template to verify that the category exists. context_dict['category'] = category context_dict['category_name_slug'] = category_name_slug except Category.DoesNotExist: pass if not context_dict['query']: context_dict['query'] = category.name # Go render the response and return it to the client. return render(request, 'love/category.html', context_dict)