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

Django模板调用exercise_update路由报NoReverseMatch无参数错误

问题排查方案

  • 优先检查当前渲染的模板所有位置,除你贴出的代码行外,是否还有其他地方调用了{% url 'sessions:exercise_update' %}且没有传入参数。报错明确提示存在无参调用的情况,大概率是遗漏的其他调用导致的问题,而非你贴出的这行代码出错。
  • 检查MyExerciseUpdate视图是否配置了context_object_name = 'exercise':通用UpdateView默认传入模板的上下文变量名为object,如果你没有手动指定context_object_name,模板中的exercise变量实际不存在。如果模板内有{% if exercise %}这类分支判断,未满足条件时执行了无参的url调用,就会触发报错。你可以在模板对应位置临时添加{{ exercise }} {{ exercise.id }}打印变量值,确认变量是否存在有效值。
  • 校验urls.py的视图映射逻辑:你局部贴出的路由关联的是MyExerciseUpdate.as_view(),但完整urls文件中导入和使用的是ExerciseUpdate,如果两个类不是同一个,请确认实际使用的视图类配置正确,没有上下文传递异常的问题。
  • 清理模板缓存后重启服务测试:如果开启了模板缓存,旧的错误模板代码可能被持续加载,清理缓存后重试可排除该类问题。
  • 检查视图的get_success_url逻辑:如果你重写了MyExerciseUpdate的get_success_url方法,确认反向解析exercise_update时是否传入了pk参数,表单提交成功后的跳转逻辑如果存在无参反向解析,也会触发该报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:06:03