python - 如何使用 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
“玩具卡车”部分不需要做任何事情,但它看起来很专业,拥有它会很高兴。
解决方案
您可以在模型中添加 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-]+)/$
推荐阅读
- javascript - 有记忆和没有记忆的斐波那契时间复杂度
- ruby-on-rails - 如何覆盖 will_paginate 网址?will_paginate gem 生成错误的 url
- elasticsearch - 如何根据elasticsearch中的条件删除嵌套字段中的特定对象?
- php - 配置为在其他服务器上作为 HTTPS 运行后如何强制 WordPress 使用 HTTP,--not-- HTTPS
- javascript - 使用 Angular 12 使用 js-xlsx 读取本地 Excel 文件?
- specifications - Jolt 组合在一起并包含新标签
- javascript - React:如何将参数传递给父组件
- android - 如何制作可点击的ListView
- sql - 如果某个字段存在,则表的动态联合
- excel - 检查文件夹中是否存在文件后如何将文本写入单元格?