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

求助:Django项目使用非硬编码URL匹配时出现NoReverseMatch错误

解决Django中NoReverseMatch异常的问题

嘿,我来帮你搞定这个困扰你的NoReverseMatch异常!问题出在你模板里的URL标签写法上,咱们一步步理清楚:

错误原因分析

你在模板里写的 <a href="{% url 'experiments:1' %}">list</a> 有两个关键问题:

  • experiments: 后面应该跟你在experiments/urls.py中定义的URL名称(也就是name='showExperiments'里的showExperiments),而不是直接写参数值1;
  • 这个URL规则需要接收一个experimentId参数,你得把参数正确传递给url标签,而不是嵌在命名空间后面。

正确的写法

根据你的需求,要跳转到experiments/1,模板里的URL标签应该这么写:

<a href="{% url 'experiments:showExperiments' 1 %}">list</a>

如果你的参数是来自上下文的变量(比如某个experiment对象的id),可以改成这样:

<a href="{% url 'experiments:showExperiments' experiment.id %}">list</a>

再确认你的URL配置

你的experiments/urls.py配置是没问题的:

  • app_name = 'experiments' 正确设置了应用命名空间;
  • path('<int:experimentId>', views.showExperiments, name='showExperiments') 正确捕获了整数类型的experimentId参数,并给这个URL规则命名为showExperiments。

这样修改后,应该就能正常跳转到目标URL啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:19:39