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

为什么我的Django配置URL后总是跳转到错误的视图页面?

错误原因分析

  1. 初始配置触发了Django路由的优先匹配规则
    Django路由会按照urlpatterns的顺序从上到下匹配路径,你给三个视图绑定的路径都是空字符串'',所以所有指向空路径的请求永远会命中排在第一位的index视图,即便你通过{% url %}标签指定了其他路由名称,生成的路径也都是根路径,自然只会渲染index.html。

  2. 修改后的配置缺失根路径映射
    你将三个视图的路径都改为带前缀的形式后,没有保留空路径''对应的路由规则,直接访问站点根地址时没有匹配的路由,就会抛出空路径不匹配的报错。

正确配置方案

按如下规则修改urlpatterns即可:

urlpatterns = [
    path('admin/', admin.site.urls),
    # 根路径绑定首页视图
    path('', views.index,name="index"),
    # 给注册、登录页面设置独立路径,末尾加斜杠适配Django默认配置
    path('register/', views.register,name="register"),
    path('login/', views.login,name="login")
]

修改后访问根路径会正常渲染index.html,点击导航栏的注册、登录按钮会跳转到对应路径渲染对应的页面,不会再出现匹配错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:24:04