You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板URL标签传参报错:无法解析'data.id'剩余部分

解决Django模板url标签传参解析错误

错误提示Could not parse the remainder: 'data.id' from ''viewproduct'data.id'的原因很明确:{% url %}标签中视图名称和参数之间必须用空格分隔,你写的'viewproduct'data.id没有空格,模板引擎无法识别参数部分。

另外你的代码还有两个潜在问题:

  • 循环变量和数据源同名({% for data in data %}),会导致遍历过程中覆盖数据源,后续无法正确获取数据
  • 开头的<p>{% for data in data %}</p>是错误写法,p标签不该包裹for循环标签

以下是修正后的完整代码:

{% for item in data %}
    <div class="item mt-5">
        <div class="card">
            <a href="{% url 'viewproduct' item.id %}">
                <img class="women" src="{{ item.image.url }}" alt="First slide">
            </a>
        </div>
        <div class="card-body text-center">
            <h4>{{ item.name }}</h4>
        </div>
    </div>
{% endfor %}

关键修正点:

  1. 将{% url 'viewproduct'data.id %}改为{% url 'viewproduct' item.id %},给视图名称和参数之间加上空格
  2. 把循环变量从data改为item,避免和数据源重名
  3. 移除包裹for循环的错误p标签,同时调整a标签的闭合位置(原代码中a标签跨了card和card-body,可能导致布局问题)

内容的提问来源于stack exchange,提问作者user30595687

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:22:39