首页 > 解决方案 > 如何使“request.user.is_authenticated”工作而不抛出错误

问题描述

我曾尝试使用用户身份验证,但每次我使用它时都会收到一个类型错误,告诉我“布尔”对象不可调用。我无法克服它。

 if request.user.is_authenticated():
        print(user)
    else:
        return redirect("/login")
    return render(request, 'home.html', context)

标签: django

解决方案


在较新版本的 Django 中,is_authenticated成为属性而不是函数

所以使用request.user.is_authenticated(不带括号 "()" )

#code snippet
 if request.user.is_authenticated: # change is here <<<<<<<
        打印(用户)
    别的:
        返回重定向(“/登录”)
    返回渲染(请求,'h/code>

推荐阅读