URL 中 PK 后 Django 忽略字符串

Django Ignore string after PK in URL

产品urls.py

urlpatterns = [
    path('<int:pk>/', ProductDetailView.as_view(), name='detail'),
]

目前我的 url 看起来像这样 http://127.0.0.1:8001/product/11/ 但是,我还想附加产品的 slug。 http://127.0.0.1:8001/product/11/example-slug/

但是它后面的字符串是什么无关紧要,它应该只是使用 pk 来显示页面。它应该忽略 /11/ 之后的字符串 我该怎么做?

Url:

path(<int:pk>/<str:xxx>', ProductDetailView.as_view(), name='detail')

视图侧应如下所示:

   def getproduct(request,pk,xxx):

       the_product= Product.objects.get(pk=pk)

但您应该注意,如果用户更改 url 的字符串部分,该用户仍将能够看到该页面。