django - 对产品进行分类
问题描述
我有一个类似的清单
<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>
现在我想使用 Django View 对我列出到我的 html 页面的产品进行排序。
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)
这是我的产品列表视图,我想为产品的排序和过滤创建一个视图。
通过这样做,我想将过滤器应用于我的产品列表,并按价格“从低到高”或“从高到低”顺序对它们进行排序。
为此,我创建了一个过滤视图
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”视图。
解决方案
推荐阅读
- php - 我无法将树枝与 PHP 控制器连接
- sql - 创建表以计算每个职位完成的事务数
- docker - .Net core docker build 与多个项目
- mongodb - 使用命令将文档中的值复制到 mongodb 中的另一个文档中
- sql - 保存组合框 id 而不是文本
- git - 当所有不必要的元库或扩展文件..等都已被推送时,如何保存统一的 git 存储库?
- python-3.x - 使用不同数量的键更新不平衡字典中的键
- java - 科尔多瓦构建错误任务:app:mergeDebugResources FAILED on linux:arm64
- python - 发送多部分/表单数据的问题
- azure - Azure Kubernetes 服务纵向扩展触发器