Пример #1
0
def search(request):
    products = models.Product.objects.all().order_by('description')
    
    if request.method == 'POST':
        form = forms.ProductSearchForm(request, data=request.POST)
        if form.is_valid():
            products = form.search(products)
    else:
        form = forms.ProductSearchForm(request)
    
    for product in products:
        product.form = cart.AddProductForm(request, None, product)

    paginator = DiggPaginator(products, MAX_RESULTS, **DIGG_ATTRS)

    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1

    try: 
        products = paginator.page(page)
    except (EmptyPage, InvalidPage):
        products = paginator.page(paginator.num_pages)
    
    data = dict(
        products=products,
        paginator=paginator,
        curpage=page,
        form=form
    )
    
    return _render(request, 'product/list.html', data)
Пример #2
0
def _show_cart(request, cart, form=None):
    """
    Display the contents of the cart selected
    """
    products = models.Item.objects.filter(cart=cart).order_by('description')
    
    paginator = DiggPaginator(products, MAX_RESULTS, **DIGG_ATTRS)

    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1

    try: 
        products = paginator.page(page)
    except (EmptyPage, InvalidPage):
        products = paginator.page(paginator.num_pages)
        
    data = dict(
        cart=cart,
        products=products,
        curpage=page,
        form=form,
        tax_rate=settings.TAX_RATE,
        shipping_rate=settings.SHIPPING_RATE
    )
    return request_to_response(request, 'cart/index.html', data)
Пример #3
0
    def get_context_data(self, **kwargs):
        context = super(PostListView, self).get_context_data(**kwargs)
        try:
            page = int(self.request.GET.get("page", "1"))
        except:
            page = 1

        queryset = Post.objects.all().order_by("-rating")
        paginator = DiggPaginator(queryset, 12, body=5)
        categories = Category.objects.all().filter(show=True)
        context['page'] = paginator.page(page)
        context['base_url'] = self.request.META.get("PATH_INFO", "/")
        context['categories'] = categories
        context['current_page'] = page
        return context
Пример #4
0
 def get_context_data(self, **kwargs):
     context = super(SearchView, self).get_context_data(**kwargs)
     q = self.request.GET.get("q", "泰国旅游")
     try:
         page = int(self.request.GET.get("page", "1"))
     except:
         page = 1
     queryset = Post.objects.all().filter(title__icontains=q).order_by("-rating")
     categories = Category.objects.all().filter(show=True)
     paginator = DiggPaginator(queryset, 12, body=5)
     context['page'] = paginator.page(page)
     context['base_url'] = self.request.META.get("PATH_INFO", "/")
     context['categories'] = categories
     context['total_count'] = queryset.count()
     context['current_page'] = page
     context['q'] = q
     return context
Пример #5
0
def by_category(request, category_code):
    category = get_object_or_404(models.Category, code=category_code)
    products = models.Product.objects.filter(category=category).order_by('description')
    
    paginator = DiggPaginator(products, MAX_RESULTS, **DIGG_ATTRS)

    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1

    try: 
        products = paginator.page(page)
    except (EmptyPage, InvalidPage):
        products = paginator.page(paginator.num_pages)
    
    data = dict(
        category=category,
        products=products,
        paginator=paginator,
        curpage=page,
    )
    
    return _render(request, 'product/list.html', data)