如何在djang中传递多个url参数

2024-10-17 06:22:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我的html模板中有两个链接。第一个链接只向URL传递1个参数,第二个链接传递2个参数。像这样:

<a href="/products/{{categ_name}}">{{categ_name}}</a>
<a href="/products/{{categ_name}}/{{subcateg_name}}">{{subcateg_name}}</a>

现在,当我用1个参数单击link时,它工作正常。我在django视图中得到了参数值。
但是当我用两个参数单击link时,我只得到了第一个参数。我在第二个参数的值中没有得到任何值。

我的url.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'),)

我的观点.py:

def products(request, categ_name=None, subcateg_name=None):
    print categ_name, subcateg_name
    ...

如何得到第二个参数的值?


Tags: namepynone模板url参数链接html
1条回答
网友
1楼 · 发布于 2024-10-17 06:22:04

将URL更改为:

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字符表示字符串结束。

相关问题 更多 >