我尝试使用用户身份验证,但是每次使用身份验证时,我都会得到一个类型错误,告诉我'bool'对象不可调用。 我无法克服它。
if request.user.is_authenticated():
print(user)
else:
return redirect("/login")
return render(request, 'home.html', context)
答案 0 :(得分:2)
在较新版本的Django中,is_authenticated
成为 属性 ,而不是 功能 。
所以请使用 request.user.is_authenticated
(不带括号“()”)
#Code snippet if request.user.is_authenticated: # change is here <<<<<<< print(user) else: return redirect("/login") return render(request, 'h/code>
答案 1 :(得分:0)
当您收到错误消息x is not callable
时,通常是因为您试图调用不是函数的东西。例如,
myVar = True
myVar()
将返回与上面相同的错误。
在您的情况下,由于request.user.is_authenticated()
是布尔值而不是函数,因此request.user.is_authenticated
需要替换为request.user.is_authenticated
(减去括号)。
干杯!