Django:用户登录失败

4 投票
1 回答
8251 浏览
提问于 2025-05-10 15:34

这是我的登录界面:

def dashboard(request):
    return render(request, 'dashboard.html', {})

def user_login(request):
    if request.user.is_authenticated():
        HttpResponseRedirect('/dashboard')

    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(username=username, password=password)

        if user:
            if user.is_active:
                return HttpResponseRedirect('/dashboard')
            else:
                return HttpResponse("Your account is disabled.")
        else:
            print "Invalid login details: {0}, {1}".format(username, password)
            return HttpResponse("Invalid login details.")

    else:
        return render(request, 'login.html', {})

现在,当我输入正确的登录信息时,它会正确地把我转到 /dashboard,但我还是没有登录。请问我漏掉了什么?

相关文章:

  • 暂无相关问题
暂无标签

1 个回答

4

我觉得你需要明确地调用一下 login 这个函数。

https://docs.djangoproject.com/en/1.8/topics/auth/default/#how-to-log-a-user-in

这个函数需要两个东西,一个是 request 对象,另一个是 user 对象。

撰写回答