Python 为什么我的django URL模式无法解析?

Python 为什么我的django URL模式无法解析?,python,django,django-views,Python,Django,Django Views,所以我正在为一个朋友创建一个小的电子商务网站,但我不明白为什么url不能自行解析 为了简单起见,同时使网站我使用的产品称为“1号”。它有一个slug字段“number-1”,在产品页面上单击该产品会将用户带到“/shop/number-1” 我的url模式是: url(r'^<slug:url>', views.item, name='products') 据我所知,这应该呈现我的product.html模板,但它返回一个404,我不知道为什么 如果有帮助的话,我可以在相同的视图中

所以我正在为一个朋友创建一个小的电子商务网站,但我不明白为什么url不能自行解析

为了简单起见,同时使网站我使用的产品称为“1号”。它有一个slug字段“number-1”,在产品页面上单击该产品会将用户带到“/shop/number-1”

我的url模式是:

url(r'^<slug:url>', views.item, name='products')
据我所知,这应该呈现我的product.html模板,但它返回一个404,我不知道为什么

如果有帮助的话,我可以在相同的视图中设置其他视图,例如产品类型,并且它们可以正常工作,因为我可以告诉它,slug:url没有在views.item中使用,或者视图没有正确获取上下文


此外,我正在使用django 1.11.7进行此项目。

您尝试使用的url模式(
slug:url
)是

如果您使用的是Django 1.11,那么您需要使用一个正则表达式—类似于以下内容:

url(r'^?P<url>[\w-]+', views.item, name='products')
url(r'^?P[\w-]+',views.item,name='products')

始终确保您正在查看;-)的文档

请将url模式更改为:

url(r'^?P<url>[\w-]+', views.item, name='products')
url(r'^?P[\w-]+',views.item,name='products')

即使在Django 2中它也无效,因为您需要使用
path()
而不是
url()
url(r'^?P<url>[\w-]+', views.item, name='products')