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

Django加载SettingsHome页出现viewSettings的NoReverseMatch错误如何解决?

问题根因

报错的直接原因是settingsHome.html模板中调用viewSettings路由时传递的参数无效:
模板内循环遍历的是allClass列表,循环变量名为entry,但代码里写的url参数是settings.id,当前页面上下文根本不存在settings这个变量,因此Django读取到的参数是空字符串,和路由要求的int:settings_pk数字类型参数匹配失败,就抛出了NoReverseMatch错误。

修复方案

修改settingsHome.html中的链接代码即可:
把原来的

<a href="{% url 'viewSettings' settings.id %}">»  {{ entry.Complex }}</a>

替换为

<a href="{% url 'viewSettings' entry.id %}">»  {{ entry.Complex }}</a>

其他潜在问题检查

  1. 视图中的模型名拼写可能存在不一致:settingsHome视图查询的是SettingsClass模型,而viewSettings视图查询的是SettingClass,如果不是特意定义了两个不同的模型,这里大概率是拼写错误(多了一个s),需要同步修正。
  2. viewSettings.html中写的外部CSS链接放在了{% block content %}外面,继承base.html的时候这部分样式不会生效,建议把CSS链接移到base.html的头部,或者在base.html中预留头部块来放页面专属样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:39:03