Skip to main content
 首页 » 编程设计

python之为什么我的 Django urlpattern 没有解析

2025年01月19日30zlslch

所以我正在为 friend 创建一个小型电子商务网站,但无法弄清楚为什么 url 无法自行解析。

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

我的 url 模式是:

url(r'^<slug:url>', views.item, name='products') 

与 View :

def item(request, url=""): 
    products = product.objects.get(url=url) 
    return render(request, 'shop\product.html', {'products', products}) 

据我所知,这应该呈现我的 product.html 模板,但它却返回 404,我不确定为什么?

如果它有帮助,我有其他 View ,例如在相同 View 中设置的产品类型,并且它们工作正常,据我所知,slug:url 没有在 views.item 中使用,或者 View 没有正确获取上下文。

此外,我正在为这个项目使用 django 1.11.7。

请您参考如下方法:

您尝试使用的 url 模式 (slug:url) 是 only valid in Django 2 .

如果您使用的是 Django 1.11,那么您需要使用正则表达式 - 如下所示:

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

始终确保您正在查看 your version of Django 的文档;-).