包含多个可选参数/参数的Django URL

问题描述 投票:0回答:2

[在尝试构建我的第一个django项目时,我一直在传递用于产品过滤的值。传递了值1的每个要素将是一个活动过滤器,而其他要素将是0,即不活动。urls.py:

urlpatterns=[
path('women/<str:category>/filter?pricefrom=<int:min>&to=<int:max>&size?s=<int:s>&m=<int:m>&l=<int:l>&xl=<int:xl>&xxl=<int:xxl>&xxxl=<int:xxxl>&color?blue=<int:blue>&red=<int:red>&yellow=<int:yellow>&black=<int:black>&white=<int:white>&green=<int:green>&brown=<int:brown>',views.women_category,name='women category page with filters'),
]

views.py:

def women_category(request,category,id=None,flag=None,min=None,max=None,s=None,m=None,l=None,xl=None,xxl=None,xxxl=None,blue=None,red=None,yellow=None,black=None,white=None,green=None,brown=None):
#product filter logics here

我希望用户应该能够使用过滤器的任何可能的组合,其中过滤器为:价格:最低,最高尺码:S,M,L,XL,XXL,XXXL颜色:黄色,蓝色,绿色等...>

我不知道如何在网址中使用Regex,因此请帮助我将我的网址转换为regex网址,以便所有过滤器变量都是可选的,以便通过前端传递。

[在尝试构建我的第一个django项目时,我一直在传递用于产品过滤的值。每个传递了值1的特征将是一个活动过滤器,而其他特征将是0,即...

python django regex e-commerce django-urls
2个回答
0
投票

有几种添加可选参数的方法,可以使用正则表达式或添加多个模式。您可以在此处查看示例:Optional get parameters in django?


0
投票

您不需要,也不需要将查询参数作为URL的一部分进行匹配。这些可以通过request.GET在Django中使用。

© www.soinside.com 2019 - 2024. All rights reserved.