[英]how to pass multiple url parameters in django
我的html模板中有2个链接。 第一个链接只传递1个参数到URL,第二个链接传递2个参数。 像这样:
<a href="/products/{{categ_name}}">{{categ_name}}</a>
<a href="/products/{{categ_name}}/{{subcateg_name}}">{{subcateg_name}}</a>
现在当我点击带有1个参数的链接时,它工作正常。 我在django视图中获取参数值。
但是当我点击带有两个参数的链接时,我只得到第一个参数。 我在第二个参数的值中得到None。
我的urls.py:
urlpatterns = patterns('',
url(r'^products/(?P<categ_name>\w+)/', views.products, name='products_category'),
url(r'^products/(?P<categ_name>\w+)/(?P<subcateg_name>\w+)/', views.products, name='products_subcategory'),
url(r'^logout/',views.logoutView, name='logout'),)
我的views.py:
def products(request, categ_name=None, subcateg_name=None):
print categ_name, subcateg_name
...
如何获得第二参数的值?
将您的网址更改为:
urlpatterns = patterns('',
url(r'^products/(?P<categ_name>\w+)/$', views.products, name='products_category'),
url(r'^products/(?P<categ_name>\w+)/(?P<subcateg_name>\w+)/$', views.products, name='products_subcategory'),
url(r'^logout/',views.logoutView, name='logout'),)
然后,避免您的2参数url与第一个1参数模式匹配。 $ special字符表示字符串结尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.