如何在django url 到 return 开头使用变量来查看?

How to use variable at start of django url to return to view?

我正在尝试将 django url 的第一部分传递给视图,因此我可以按 url.

中的术语过滤我的结果

documentation,好像挺直白的

但是,我有以下urls.py

url('<colcat>/collection/(?P<name>[\w\-]+)$', views.collection_detail, name='collection_detail'),
url('<colcat>/', views.collection_view, name='collection_view'),

在这种情况下,我希望能够转到 /living 并将 living 传递到我的视图,以便我可以使用它进行筛选。

然而,当尝试这个时,无论我输入什么 url 它都没有被匹配,并且我收到一条错误消息说我输入的地址无法与任何 urls 匹配.

我错过了什么?

<colcat> 不是有效的正则表达式。您需要使用与 name.

相同的格式
url('(?P<colcat>[\w\-]+)/collection/(?P<name>[\w\-]+)$', views.collection_detail, name='collection_detail'),
url('(?P<colcat>[\w\-]+)/$', views.collection_view, name='collection_view'),

或者,使用新的 path 表格,这样会简单得多:

path('<str:colcat>/collection/<str:name>', views.collection_detail, name='collection_detail'),
path('<str:colcat>/', views.collection_view, name='collection_view'),