django - 如何在 Django Url 中添加可选的 slug
问题描述
我想在 Django 中的网址中添加一个可选的 Stackoverlow,例如 slug
path(
r"item/<int:pk>/<slug:slug>",
ItemDetailView.as_view(),
name="item_detail",
),
如何使 slug 可选,以便它在所有三种情况下都有效:
- 项目/1
- 项目/1/
- 项目/1/蛞蝓
解决方案
您可以使用re_path
from django.urls import re_path
urlpatterns = [
re_path(r'^item/(?P<pk>[0-9]+)(?:/(?P<slug>[-\w]+))?/$', ItemDetailView.as_view(), name="item_detail"),
]
推荐阅读
- javascript - 重命名内置 javascript 函数
- html - 图片上传Formgroup Angular6
- oracle - 在PERL脚本while循环中执行oracle sql查询
- xml - XML 签名请求 xml
- r - 按 R 中的输入(变量)和输入(值)分组
- r - 在R中结合for与重复循环
- apache-kafka - Kafka 分区目录未在数据目录中删除
- c# - C# Bungie API ExpandoObject 问题
- python - 使用键创建字典,因为文件名值是内容
- android - Chrome 调试工具 Sthetho 在 Mac Os (mojave) 中无法正常工作