Текущий путь не соответствует ни одному из этих - PullRequest
2 голосов
/ 01 августа 2020

У меня это в urls.py

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

Но когда я пытаюсь щелкнуть по URL-адресу. Я получил эту ошибку.

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

Ответы [ 2 ]

2 голосов
/ 01 августа 2020

B0882NKXW7 не является допустимым форматом для UUID [wiki] . Действительно, UUID обычно представлен 16 октетами. Например, 2707820f-5182-407d-9c07-ff7845807d4c - это UUID.

Вы можете определить свой собственный конвертер путей [Django -doc] , чтобы принять ваш идентификатор продукта, или вы можете использовать str::

urlpatterns = [
    path('product/<str:title>/<slug:pname>/<<b>str:</b>puid>', views.viewProduct),
]
1 голос
/ 01 августа 2020

заменяю путь URL

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