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

Django登录后异常重定向至/undefined问题排查求助

Django登录后意外重定向到/undefined的问题排查

问题描述

我用Django搭建了一个简单的登录表单,登录功能本身能成功,但登录完成后会出现意外重定向,最终跳到/undefined路径。不过直接访问http://localhost:8000/accounts/login/进行登录时,就不会出现这个问题,能正常重定向到首页/。

相关代码片段

login.html代码

<form id="" method="post" action="{% url 'login' %}" class="form" role="form"> 
  {% csrf_token %} 
  {% bootstrap_form form %} 
  <div class="pull-right"> 
    <button class="btn btn-default pull-right" type="submit"></button> 
  </div> 
</form>

urls.py代码

urlpatterns = [ 
  path('', MainView.as_view(), name='main'), 
  path('admin/', admin.site.urls), 
  path('accounts/', include('django.contrib.auth.urls')), 
]

settings.py配置

LOGIN_REDIRECT_URL = 'main'

请求日志对比

出现问题的日志(从其他页面跳转登录的情况)

[19/Jul/2019 13:09:53] "GET /accounts/login/ HTTP/1.1" 200 956 # 点击提交按钮
[19/Jul/2019 13:09:54] "POST /accounts/login/ HTTP/1.1" 302 0
[19/Jul/2019 13:09:54] "GET / HTTP/1.1" 200 2496
Not Found: /undefined
[19/Jul/2019 13:09:54] "GET /undefined HTTP/1.1" 404 2189

正常的日志(直接访问登录页登录)

[19/Jul/2019 13:57:51] "GET /accounts/login/ HTTP/1.1" 200 953
[19/Jul/2019 13:57:55] "POST /accounts/login/ HTTP/1.1" 302 0
[19/Jul/2019 13:57:55] "GET / HTTP/1.1" 200 2496

原因分析

从日志对比能明显看出来,正常登录流程到访问/就结束了,但出问题的流程里,在成功加载首页之后,浏览器又主动发起了/undefined的请求——这基本可以排除是Django后端的问题,问题大概率出在前端代码上:

  • 你应该是从某个其他页面跳转到登录页的,而那个页面的JavaScript代码在处理登录相关逻辑时,错误地读取了一个未定义(undefined)的变量作为跳转路径,导致浏览器自动发起了这个无效请求。
  • 另外,检查登录页面本身的前端脚本(如果有的话):有没有监听表单提交的额外事件?或者页面加载时有没有自动执行的跳转逻辑?比如尝试获取某个不存在的URL参数、DOM元素属性,结果拿到了undefined,然后直接把它拼进了URL里。
  • 还有一种常见情况:登录按钮或者页面里的其他元素绑定了双重行为——除了表单的默认提交,还触发了另一个JS函数,这个函数里的跳转逻辑出错,指向了undefined对应的路径。

解决方案

  • 先检查触发登录的页面(也就是你点击登录按钮跳转到登录页的那个页面)的前端代码,看看有没有处理登录状态的JS逻辑,特别是涉及到跳转的部分,排查是否有变量未定义就被用作URL的情况。
  • 检查登录页面login.html里的其他前端脚本(如果有的话),看看是否有页面加载完成后自动执行的跳转代码,或者监听表单提交事件的额外逻辑,是否存在错误的路径处理。
  • 可以用浏览器的开发者工具(F12)的网络面板,查看/undefined请求的发起者,看看是哪个脚本或者元素触发了这个请求,这样能快速定位问题所在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:19:34