Add multiple categories to portfolio and advanced gallery navigation with swipe support

This commit is contained in:
2025-11-24 14:31:42 +09:00
parent 3e330f55f6
commit a515f4ab28
5 changed files with 363 additions and 33 deletions

View File

@@ -412,10 +412,10 @@ def news_detail(request, slug):
def portfolio_list(request):
"""Список всех активных элементов портфолио"""
category_id = request.GET.get('category')
items = PortfolioItem.objects.filter(is_active=True)
items = PortfolioItem.objects.filter(is_active=True).prefetch_related('categories')
if category_id:
items = items.filter(category_id=category_id)
items = items.filter(categories__id=category_id)
categories = Category.objects.all()
return render(request, 'web/portfolio_list.html', {
@@ -426,7 +426,7 @@ def portfolio_list(request):
def portfolio_detail(request, slug):
"""Детальная страница элемента портфолио"""
item = get_object_or_404(PortfolioItem, slug=slug, is_active=True)
item = get_object_or_404(PortfolioItem.objects.prefetch_related('categories', 'gallery_images'), slug=slug, is_active=True)
return render(request, 'web/portfolio_detail.html', {'item': item})