【问题标题】:The current path,didn't match any of these当前路径,与其中任何一个都不匹配
【发布时间】:2020-11-22 03:13:14
【问题描述】:

我在 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 但为了匹配我添加 str:title 和 str:pname 的 URL 模式

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

product/store_name/product_name_slug/product_id

【问题讨论】:

  • B0882NKXW7 不是有效的uuid,例如uuid2707820f-5182-407d-9c07-ff7845807d4c
  • 那么如何获得这个B0882NKXW7?
  • 那么问题是您的B0882NKXW7 来自哪里?看起来这是在模板/视图/中以某种方式编码的...您可以使用&lt;str:puid&gt; 接受B088...
  • 谢谢。我使用 str:puid 它对我有用。非常感谢。

标签: django django-views django-templates django-urls django-url-reverse


【解决方案1】:

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

您可以define your own path converter [Django-doc] 接受您的产品ID,也可以使用str:

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

【讨论】:

    【解决方案2】:

    我替换了网址路径

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-18
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多