def product_list(request, category_slug=None):
category = None
categories = Category.objects.all()
products = Product.objects.filter(available=True)
page = request.GET.get('page')
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = products.filter(category=category)
paginator = Paginator(products, 3)
try:
products = paginator.page(page)
except PageNotAnInteger:
products = paginator.page(1)
except EmptyPage:
products = paginator.page(paginator.num_pages)
return render(request,
'products/list.html',
{'category': category,
'categories': categories,
'page': page,
'products': products})
def news(request):
# 'Новости'
all_news = News.objects.filter(type='news').filter(visible=True).order_by('-publish')
paginator = Paginator(all_news, 10)
page = request.GET.get('page')
try:
all_news = paginator.page(page)
except PageNotAnInteger:
# Если страница не является целым числом,возвращаем первую страницу.
all_news = paginator.page(1)
except EmptyPage:
# Если номер страницы больше, чем общее количество страниц,
# возвращаем последнюю.
all_news = paginator.page(paginator.num_pages)
return render(request, 'news.html',
{'page': page,
'all_news': all_news,})
def news(request):
# 'Новости'
all_news = News.objects.filter(type='news').filter(visible=True).order_by('-publish')
paginator = Paginator(all_news, 10)
page = request.GET.get('page')
try:
all_news = paginator.page(page)
except PageNotAnInteger:
# Если страница не является целым числом,возвращаем первую страницу.
all_news = paginator.page(1)
except EmptyPage:
# Если номер страницы больше, чем общее количество страниц,
# возвращаем последнюю.
all_news = paginator.page(paginator.num_pages)
return render(request, 'news.html',
{'page': page,
'all_news': all_news,})
<div class="col-md-8">
<div class="col-md-8 products">
<div class="col-sm-4">
<div class="product">
<div class="container content">
<div class="row">
<div class="col-md-4">
<div class="list-group">
<a href="{% url 'products:productsList' %}"
class="list-group-item {% if not category %}selected{% endif %}">Все</a>
{% for c in categories %}
<a href="{{ c.get_absolute_url }}"
class="list-group-item {% if category.id == c.id %}selected{% endif %}">{{ c.name }}</a>
{% endfor %}
</div>
</div>>
<div class="col-md-8 products">
<div class="row">
{% for product in products %}
<div class="col-sm-4">
<div class="product">
<div class="product-img">
<img src="{% if product.image %}{{ product.image.url }}{% else %}{% endif %}" alt="">
</div>
<p class="product-title">
<a href="{{ product.get_absolute_url }}">{{ product.title }}</a>
</p>
<p class="product-price">{{ product.price }} руб.</p>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>