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

Django嵌套include引入子应用路由后模板引用报未注册视图错误如何解决

Django路由命名空间导致url模板标签报错解决方案

问题根因

你在account和nodes两个应用的urls.py中都通过app_name声明了路由命名空间,且nodes应用的路由是嵌套包含在account应用的路由之下的,模板中直接调用{% url 'nodes' %}没有携带命名空间前缀,Django无法匹配到对应的路由规则。

修复方法

直接修改HTML模板中的url标签写法,携带完整的命名空间路径即可:

<li {% if section == 'nodes' %}class="active"{% endif %}>
     <a class="nav-link" href="{% url 'account:nodes:nodes' %}">Nodes</a>
</li>

这里的命名空间规则是:父应用命名空间:子应用命名空间:路由name值,对应你的配置就是account:nodes:nodes。

可选优化(非必须)

如果你不需要为nodes应用单独设置命名空间,可以删除nodes/urls.py中的app_name = 'nodes'配置,此时调用url的写法可以简化为:
{% url 'account:nodes' %}

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

相关产品推荐
方舟 Agent Plan

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

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