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

Django登录表单提交后跳转至不存在的login/login路径问题求助

问题排查与修复方案

1. 表单提交路径错误(跳转login/login的核心原因)

当前登录页访问路径为/login/,表单action属性填写的是相对路径login,浏览器会自动将相对路径拼接在当前访问路径末尾,最终提交地址就变成了不存在的/login/login。
可任选一种方案修复:

  • 直接写绝对路径:将form标签改为 <form action="/login/" method="post">
  • 更规范的Django反向解析写法:将form标签改为 <form action="{% url 'task:login' %}" method="post">

2. 视图函数请求方法判断逻辑错误

Django的HttpRequest.method属性返回的是全大写的请求方法名,你当前写的if req.method=='post'永远不会命中,就算路径修改正确,提交后也会直接重新渲染登录页,不会走登录校验逻辑。
修复方案:将判断条件改为 if req.method == 'POST'

可选优化建议

  • 用req.POST.get('username', '')替代直接取req.POST['username'],避免参数缺失时直接抛出异常
  • 登录失败重定向时可以携带错误提示参数,方便前端给用户展示失败原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:24:01