我的 urls.py 和 template.html 如下所示:
urls.py
path('item/<str:title>/', views.ItemDetail.as_view(), name="item_detail'),
模板.html
<h3>Title: <a href="{% url 'item_detail' object.title %}">object.title</a></h3>
现在,我不阻止用户创建带有正斜杠的对象。这可能是一个单独的问题
用户创建带有正斜杠的项目后,假设“预先完成 1/2 工作”
,我如何使用该标题路由到该项目?现在我不知道如何处理正斜杠 /
并且收到错误:
Reverse for 'item_detail' with arguments '('Do 1/2 the work up front',)' not found. 1 pattern(s) tried: ['item\/(?P[^/]+)$']
我调查了striptags但这不是我需要的。
最佳答案
在 django str 中接受除 /
符号之外的所有内容。所以根据 Django 文档,
path - 匹配任何非空字符串,包括路径分隔符“/”。这允许您匹配完整的 URL 路径,而不是像 str 那样仅匹配 URL 路径的一部分。
但是我建议您添加一个 slug 字段,它将您的网址转换为类似 this-is-your-url
关于python - 在 Django 模板中路由时,如何处理标题中的正斜杠 '/'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53419897/