python - 如何将 2 个参数从模板传递到 django 中的视图?
问题描述
所以我知道我可以像这样传递一个参数: {%url '...path...' argument%} 但我想传递 2 个参数,例如 {%url '...path...' argument1 argument2%}这是我的确切代码:search.html:
{% for id, title, thumbnail in videos%}
<a href="https://www.youtube.com/watch?v={{id}}"><img src="{{thumbnail}}">{{title}}</a><p style="display:inline;"> | </p><a href="{%url 'select' id title%}">Add to playlist</a>
<br>
{%endfor%}
网址.py:
path('select/<id>/<title>', views.select, name='select'),
我收到以下错误:未找到带有参数 '('omPiA5AsGWw', 'PRESLAVA - POSLEDEN ADRES / Преслава - Последен адрес, 2007')' 的“选择”的反向。尝试了 1 种模式:['select/(?P[^/]+)/(?P[^/]+)$']
解决方案
您的标题包含一个斜线。您应该指定path
为路径转换器:
path('select/<id>/<path:title>', views.select, name='select'),
话虽这么说,我不确定在 url 中编码这样的标题是否是一个好主意,它会使带有很多百分比编码字符的难看的 URL。您可能想查看slug s 而不是 [Django-doc]。
推荐阅读
- python - 如何使用 `construct_change_message` 在我自己的视图中创建一个 `change_message` 以在内置的 `LogEntry` 模型中记录我的操作?在 django
- rest - TJSON.JsonToObject 不通过设置器
- android - 如何在一个 Recycler 视图中显示两个不同的独立对象/类?
- python-3.x - 使用 pyro 的深度生成模型中的小批量概念
- express - socket.io 的快速代理
- c# - 为什么重试提示只显示一次?
- java - 我们可以在单个标签上链接两个 java 文件吗
- c# - 显示列表中的重复项 c#
- python - 根据索引中的关键字对行求和
- c# - .NET Core 的 Windows 和 Linux 之间的编组有什么区别?