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

Django访问per_capita带参路由抛出NoReverseMatch指向transaction_list错误如何解决

问题诱因

你对错误的根因定位有偏差,不是transaction_per_capita_list路由被Django识别成了transaction_list,错误触发在你跳转后渲染的transaction_percap/list.html模板中:

  1. 你的人均交易列表模板大概率直接复用了原有设备交易列表的代码,模板里残留了调用{% url 'transaction_list' id=xxx %}的代码
  2. 传入该路由的id参数为空,要么是你没把变量名从原来的machine.id改成employee.id,要么是对应变量没有正确传值,才会触发匹配失败的报错。

你可以先做个快速验证:把transaction_percap/list.html的内容全部清空,只写一行测试文本,再次访问/per_capita/employee/2如果没有报错,就完全可以确认是该模板的问题,和路由定义、员工列表页的跳转代码没有关系。

修复方案

  1. 打开transaction_percap/list.html文件,全局搜索所有transaction_list路由调用的代码,将错误的路由名替换为正确的transaction_per_capita_list
  2. 检查路由传参部分,确认参数写为id=employee.id,保证参数能正常取到有效值不为空
  3. 如果模板使用了继承结构,同步检查父模板、面包屑导航等公共模块是否也硬编码了transaction_list路由,一并修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:15:00