38267-vm/core/views.py
Flatlogic Bot 6be5962f9e store-2
2026-02-07 11:09:10 +00:00

32 lines
1.0 KiB
Python

import os
from django.shortcuts import render, get_object_or_404
from .models import Category, Product
from django.db.models import Q
def home(request):
"""Render the ShinaStore landing page with products and filters."""
query = request.GET.get('q')
category_slug = request.GET.get('category')
categories = Category.objects.all()
products = Product.objects.all()
if query:
products = products.filter(
Q(name__icontains=query) | Q(description__icontains=query)
)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = products.filter(category=category)
featured_products = Product.objects.filter(is_featured=True)[:4]
context = {
"categories": categories,
"products": products,
"featured_products": featured_products,
"current_category": category_slug,
"search_query": query or "",
}
return render(request, "core/index.html", context)