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

Django出现NoReverseMatch错误:无法找到'login'的反向匹配

解决Django NoReverseMatch: 'login' 路由匹配失败问题

核心问题

你的应用urls.py中,login路由没有设置name属性,导致模板里的{% url 'login' %}无法找到对应的路由规则。对比已正常工作的logout路由(已配置name="logout"),login路由缺少关键的name参数。

修复步骤

修改应用urls.py中的login路由,补充name="login"参数:

from django.contrib import admin
from django.urls import path, include
from . import views
from django.contrib.auth import views as auth_views
from .forms import *

urlpatterns = [
    path('', views.index, name="index"),
    path('admin/', admin.site.urls),
    path('register/', views.UserSignupView.as_view(), name="register"),
    # 为login路由添加name参数
    path('login/', auth_views.LoginView.as_view(template_name="login.html", authentication_form=UserLoginForm), name="login"),
    path('logout/', views.logout_user, name="logout"),
]

额外检查点

  • 确认项目urls.py中include('templates.urls')的应用名称正确,若你的应用实际名称不是templates,需同步修改此处的引入路径。
  • 当前配置下无需额外添加命名空间,只要路由name设置正确,模板中的{% url 'login' %}即可正常匹配。

内容的提问来源于stack exchange,提问作者Guilherme Jorge Gomes Neto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:43:20