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

Django中Reverse for ' sign-in'未找到错误排查求助

Django URL反向解析错误:Reverse for ' sign-in' not found 排查方案

问题场景

配置Django项目路由后,在模板中使用{% url 'userauths: sign-in' %}生成登录链接,启动服务时触发错误:

"Reverse for ' sign-in' not found. ' sign-in' is not a valid view function or pattern name."

涉及代码

项目根urls.py

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path("", include("core.urls")),
    path("user/", include("userauths.urls"))
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

userauths/urls.py

from django.urls import path
from userauths import views as auth_views

app_name = "userauths"

urlpatterns = [
    path("sign-up/", auth_views.register_view, name="sign-up"),
    path("sign-in/", auth_views.login_view, name="sign-in"),
    path("sign-out/", auth_views.logout_view, name="sign-out"),
]

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Index Page</title>
</head>
<body>
  <a href="{% url 'userauths: sign-in' %}">Sign-in</a>
</body>
</html>

错误根源

模板中的URL反向解析表达式'userauths: sign-in'存在格式错误:冒号:和URL名称sign-in之间多了一个空格。Django会将带前导空格的' sign-in'作为完整名称去匹配路由,但userauths应用中定义的URL名称是无空格的sign-in,导致匹配失败。

修复步骤

修改index.html中的URL标签,去掉冒号后的空格:

<a href="{% url 'userauths:sign-in' %}">Sign-in</a>

重新启动服务后,反向解析即可正确匹配到userauths/urls.py中定义的name="sign-in"路由。


内容的提问来源于stack exchange,提问作者Võ Phú Hữu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:58:17