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

Django用户注册正常但登录失败,提示凭证错误问题求助

修复Django登录失败的问题

你的注册功能能正常创建用户,但登录一直触发凭证错误,我检查代码后发现三个关键问题,逐个修复就能解决:

1. 登录视图的逻辑顺序错误

在handleLogin函数里,你先调用了login(request, user)再判断用户是否有效,这不仅会让未认证用户触发报错,还完全颠倒了登录逻辑——应该先验证凭证,确认用户有效后再执行登录操作。另外原代码没判断请求方法,GET访问登录路由会直接报错,也要补上判断。

修改后的handleLogin代码:

def handleLogin(request):
    if request.method == 'POST':
        loginusername = request.POST.get('loginusername')
        loginpassword = request.POST.get('loginpassword')
        user = authenticate(request, username=loginusername, password=loginpassword)
        
        if user is not None:
            login(request, user)
            messages.success(request, 'You are successfully logged in')
            return redirect('/')
        else:
            messages.error(request, 'Wrong Credential, try again')
            return redirect('/')
    else:
        return HttpResponse('404 Not Found')

2. 模板中用户认证状态的拼写错误

在base.html里,你写的user.is_authenticate是拼写错误,正确的属性名是is_authenticated(末尾多一个d),这个错误会导致模板一直显示登录/注册按钮,无法正确展示登录后的用户菜单。

修改后的模板片段:

{% if user.is_authenticated %}
<li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Welcome {{request.user}}
    </a>
    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
        <a class="dropdown-item" href="/logout">Logout</a>
    </div>
</li>
{% else %}
<!-- 登录/注册按钮部分保持不变 -->
{% endif %}

3. 登录表单的HTML语法错误

登录表单的用户名输入框里,placeholder和name属性的写法有语法问题,导致后端无法正确获取loginusername参数:
原错误代码:

<input type="text" class="form-control" id="loginusername" placeholder="loginusername name=" loginusername" required>

修改后(修正属性闭合和引号问题):

<input type="text" class="form-control" id="loginusername" placeholder="Enter your username" name="loginusername" required>

把这三个地方修复后,登录功能就能正常工作了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 10:22:32