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 的字符串部分,该用户仍将能够看到该页面。
产品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 的字符串部分,该用户仍将能够看到该页面。