首页 > 解决方案 > 如何使用 django 制作自定义 URL?

问题描述

现在我的 urls.py 文件看起来像这样:

re_path(r'^product-offers/(?P<product_item_id>[-\w]+)$', views.ProductOffersListView.as_view(),

这会将用户带到页面:www.shop.com/product/1234

但是,有没有办法显示带有标题的 URL(即使该 URL 不会更改调度)。我希望 URL 看起来像这样:

www.shop.com/product/1234/toy-truck

“玩具卡车”部分不需要做任何事情,但它看起来很专业,拥有它会很高兴。

标签: pythondjangourl

解决方案


您可以在模型中添加 slug

蛞蝓是一个报纸术语。slug 是某事物的短标签,仅包含字母、数字、下划线或连字符。它们通常用于 URL

https://docs.djangoproject.com/en/2.1/ref/models/fields/#slugfield

然后将其添加到 url 并在调用 url 时将其与 item id 一起传递

re_path(r'^product-offers/(?P<product_item_id>[0-9]+/(?P<product_item_slug>[\w-]+)/$


推荐阅读