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

Django出现NoReverseMatch错误无法查看客户订单详情如何解决

问题排查与解决

错误根因

报错是customer.html模板内的循环变量引用错误导致的:
你在遍历订单时定义的循环变量为order:

{% for order in orders_key %}

但在拼接更新、删除订单路由时,错误使用了不存在的变量orders来取ID,导致orders.id为空值,路由反转时缺少必要的pk参数,触发NoReverseMatch异常。

修复方法

修改customer.html中订单表格里的更新、删除按钮链接部分:
将原来的代码:

<td><a class="btn btn-sm btn-info" href="{% url 'update_order' orders.id %}">Update</a></td>
<td><a class="btn btn-sm btn-danger" href="{% url 'delete_order' orders.id %}">Delete</a></td>

替换为:

<td><a class="btn btn-sm btn-info" href="{% url 'update_order' order.id %}">Update</a></td>
<td><a class="btn btn-sm btn-danger" href="{% url 'delete_order' order.id %}">Delete</a></td>

修改后即可正常访问客户订单页面。

其他可选优化点(不影响当前报错解决)

  • 视图中表单校验的is_valid是方法,需要加括号调用,否则校验逻辑不会生效:
    把if form_value.is_valid:修改为if form_value.is_valid():
  • Product模型中的字段名prince为拼写错误,建议修正为price

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:39:05