У меня есть список типа
<select class="selection-2" name="sorting">
<option>Default Sorting</option>
<option>Popularity</option>
<option>Price: low to high</option>
<option>Price: high to low</option>
</select>
Теперь я хочу отсортировать продукты, которые я перечислил, на мою html-страницу, используя Django View.
def product_list(request, category_slug=None):
category = None
categories = Category.objects.all()
products = Product.objects.filter(available=True)
paginator = Paginator(products, 9)
page = request.GET.get('page')
products = paginator.get_page(page)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = Product.objects.filter(category=category)
context = {
'category': category,
'categories': categories,
'products': products
}
return render(request, 'shop/product/list.html', context)
Это мой список продуктови я хочу создать представление для сортировки и фильтрации продуктов.
Делая это, я хочу применить фильтры к моему списку продуктов и отсортировать их по цене «от низкого до высокого» или «от высокого до низкого»"order.
Для этого я создал представление фильтра
def filter(request):
try:
q = request.GET.get('')
print(q)
except:
q = None
if q:
products = Product.objects.filter(price__range=(price1,price2))
context = {'query': q, 'products': products}
template = 'shop/product/result.html'
else:
context = {'query': q}
template = 'shop/product/list.html'
return render(request, template, context)
В этом мне нужно создать форму для публикации результатов в моем представлении" Product_list ".