2

我在 urls.py 中有这个

urlpatterns = [
path("product/<str:title>/<slug:pname>/<uuid:puid>",views.viewProduct),
]

但是当我尝试点击网址时。我得到了这个错误。

The current path, product/amazon/home-secure-snake-shield-natural-snake-r/B0882NKXW7, didn't match any of these.

在这里我只想要 puid 但为了匹配我添加的 URL 模式 str:title 和 str:pname

我不想要标题和 pname。但我的 URL 模式是这样的——

product/store_name/product_name_slug/product_id
4

2 回答 2

2

B0882NKXW7不是UUID [wiki]的有效格式。实际上,一个 UUID 通常表示为 16 个八位字节。例如2707820f-5182-407d-9c07-ff7845807d4c是一个 UUID。

您可以定义自己的路径转换器 [Django-doc]来接受您的产品 ID,也可以使用str:

urlpatterns = [
    path('product/<str:title>/<slug:pname>/<str:puid>', views.viewProduct),
]
于 2020-08-01T13:58:50.157 回答
1

我替换了 URL 路径

urlpatterns = [
path("product/<str:title>/<slug:pname>/<str:puid>",views.viewProduct),
]
于 2020-08-01T13:57:14.343 回答