html - 在 Django 模板上使用字符串参数
问题描述
我在将字符串参数传递给href
模板时遇到了一些麻烦。
我有以下网址模式
path('current_observations/<str:mongo_id>',
views.specific_observation,
name='specific_observation')
在current_observations
我有几个具有 mongo ID 作为属性的对象。我们的想法是将此 id 发送到新的 url。
我尝试执行以下操作但没有成功
<a href="{% url 'VM_OrchestratorApp:specific_observation' resource.id|stringformat:s %}">
{{ resource.TITLE }}
</a>
返回错误Failed to lookup for key [s]
还尝试执行以下操作
<a href="{% url 'VM_OrchestratorApp:specific_observation' resource.id|stringformat:'s' %}">
{{ resource.TITLE }}
</a>
但在这种情况下,这一论点根本没有得到承认。
注意:通过做
<a href="{% url 'VM_OrchestratorApp:specific_observation' 'hello' %}">
{{ resource.TITLE }}
</a>
我被重定向到current_observations/hello
预期的行为。
关于字符串格式可能出现什么问题的任何想法?
编辑:
根据@Ralf 的回答,我尝试执行以下操作。
<a href="{% url 'VM_OrchestratorApp:specific_observation' resource.id %}">
{{ resource.TITLE }}
</a>
这将返回以下错误。
Reverse for 'specific_observation' with arguments '('Some_id',)' not found. 1 pattern(s) tried: ['current_observations/(?P<mongo_id>[^/]+)$']
specific_observation
调用url时似乎添加了第二个空参数。
解决方案
您是否尝试过resource.id
不使用模板过滤器stringformat
?
url
模板过滤器文档显示了一个让过滤器处理转换为字符串的示例(代码示例{% url 'app-views-client' client.id %}
,位于该过滤器描述中的几段)。
代码如下所示:
<a href="{% url 'VM_OrchestratorApp:specific_observation' resource.id %}">
{{ resource.TITLE }}
</a>
推荐阅读
- r - 我无法在 power bi 中通过 ar 脚本添加列
- javascript - 您可以将 HTML 元素类名存储到数组中,然后调用它以在 JQuery 属性中运行吗?
- reactjs - 如何在 React Native 中禁用向左滑动手势
- java - 删除和添加演员到组 - libgdx
- python - 这个“第一个非重复字符”函数的时间复杂度是多少?
- python-3.x - 当相同的测试在命令行上运行并通过时,在 Jenkins 中运行 pytest 时出现“(核心转储)python -m pytest”错误
- python - 网络抓取 Google 搜索结果
- mysql - 如何在 SQL 中使用索引
- awk - awk 脚本无法解析字段并保存在变量中
- mysql - Sequelize - 自定义日期查询