1

我正在关注django 文档上的示例代码authlogin()以了解可以实现登录的各种方式。我知道内置表单内置视图,最终会使用它们,但我试图理解,而不仅仅是知道。

我遇到的问题是用户在 check_user 中成功登录,但在调用重定向时似乎并没有在会话中持续存在。为什么 is_authenticated() 函数给我的结果不一致?我感觉它与 RequestContext 有关,但我不确定是什么。

def check_user(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(username=username, password=password)
    if user is not None:
        if user.is_active:
            login(request, user)
            test1 = user.is_authenticated() ### True
            test2 = request.user.is_authenticated() ### False
            return HttpResponseRedirect(NEXT_PAGE) ### NEXT_PAGE gives request.user.is_authenticated() is False
        else:
            return HttpResponse("disabled account")
    else:
        return HttpResponse("invalid login")
4

0 回答 0