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

Django模板与views.py跳转Admin后台报NoReverseMatch如何解决

问题修复方案

错误原因

Django内置Admin的路由是带有admin命名空间的嵌套路由集合,在外层path('admin/', admin.site.urls)上自定义的name属性不会生效,Admin后台首页的默认反向解析名称为admin:index。

修复方法

模板端修改

将原有模板中的url调用参数替换为Admin默认的路由名即可:

<a href="{% url 'admin:index' %}" class="btn btn-sm btn-primary px-6">Explore Admin Pannel!</a>

视图端跳转修改

views.py中的redirect参数同样替换为admin:index:

if condition:
    return redirect('admin:index')

可选兼容方案

如果你需要保留原有代码中'admin'作为路由名的写法,可以在项目urls.py中新增一条别名路由:

from django.shortcuts import redirect

urlpatterns = [
    path('', include('diagnosis.urls')),
    path('admin/', admin.site.urls),
    # 新增别名路由,兼容原有的`admin`名称调用
    path('admin-alias/', lambda request: redirect('admin:index'), name='admin'),
]

配置完成后原有模板和视图中的代码无需修改即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:36:04