首页 > 解决方案 > 使用标签过滤

问题描述

标签: pythondjango

解决方案


让我们分解一下。这就是我们要做的(尽量不要修改你目前拥有的那么多):

1.- 当用户单击自行车图像时,定义处理请求的路线。为此,我们需要在应用程序的urls.py文件中定义一个新路径:

urlpatterns = [
    # ... the rest of your URLconf goes here ... ,
    path('bike-category/<category_id>', views.category_view, name='category'),
]

2.- 现在,让我们稍微修改一下您的views.py文件并创建一个新视图来显示类别,因为就我所见,您目前只有一个根据查询参数过滤自行车的视图(必须发送代码中的其他地方):

def category_view(request, category_id):  
    item_list = Item.objects.filter(category__pk=category_id)
    return render(request, "bikes.html", {'item_list': item_list})
  1. 将标签的 href 属性<a>与我们刚刚定义的路由连接起来:
<a href="{% url 'category' category_id=1 %}">

请注意,我仅根据您当前的代码做出响应,因此,我不知道您是否有一组静态类别,或者它们是否在模板中动态生成,来自数据库等。


推荐阅读