Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- urlpatterns = [
- path('', views.products_list, name='product_list'),
- path('<str:category_slug/>', views.products_list_by_category, name='product_list_by_category'),
- path('<str:category_slug/<str:slug>/', views.products_detail, name='product_detail'),
- ]
- def products_list_by_category(request, category_slug):
- template_name = 'products/product-list.html'
- products_list = Product.objects.filter(category__slug=category_slug).order_by('price')
- categories = Category.objects.all()
- product_filter = ProductFilter(request.GET, queryset=products_list)
- products_list = product_filter.qs
- quantity = products_list.count()
- if products_list:
- min_price = products_list.first().price
- max_price = products_list.last().price
- paginator = Paginator(products_list, 16)
- page = request.GET.get('page')
- try:
- products = paginator.page(page)
- except PageNotAnInteger:
- products = paginator.page(1)
- except EmptyPage:
- products = paginator.page(paginator.num_pages)
- context = { 'products': products,
- 'categories': categories,
- 'product_filter': product_filter,
- 'quantity': quantity,
- }
- if products_list:
- context['max_price'] = max_price
- context['min_price'] = min_price
- return render(request, template_name, context)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement