首页 > 解决方案 > 发送参数时正则表达式不起作用

问题描述

我使用 django 1.1 和 python 3.6,我让视图显示一个产品的详细信息,但是当我发送产品的 id 以查看它时不起作用但是当我在 urlpatterns 中更改正则表达式以与产品列表视图不同时它可以工作。

示例:(不工作的代码)

 urlpatterns = [
    url(r'^products/', productslistview.as_view()),
    url(r'^products-f/', product_list_view),
    url(r'^products/(?P<pk>\d+)/$', productdetailview.as_view()),
    url(r'^products-f/(?P<pk>\d+)/$', product_detail_view),
]

当我更改为(工作代码)

url(r'^products-d/(?P<pk>\d+)/$', productdetailview.as_view()),
url(r'^products-f-d/(?P<pk>\d+)/$', product_detail_view),

标签: pythondjango

解决方案


您没有终止您的 product_list_view 模式,因此它匹配以“products-f”开头的所有内容。你需要一个$:

url(r'^products-f/$', product_list_view),

推荐阅读