如何检查用户是否登录(如何正确使用user.is_authenticated)?

问题:

我正在查看this website,但似乎无法弄清楚如何做到这一点,因为它不起作用。我需要检查当前站点用户是否已登录(已验证),并尝试:

request.user.is_authenticated

尽管确保用户登录,但它只返回:

>

我可以做其他请求(从上面url的第一部分),如:

request.user.is_active

这返回成功的回应。

回答:

 is_authenticated是一个函数。你应该叫它

if request.user.is_authenticated():
    # do something if the user is authenticated

正如彼得·罗维尔(Peter Rowell)所指出的那样,你可能会绊倒你的是,在默认的Django模板语言中,你不要用括号来调用函数。所以你可能在模板代码中看到这样的东西:

{% if user.is_authenticated %}

但是,在Python代码中,它确实是User类中的一种方法。
 为Django编辑1.10is_authenticated现在是Django 1.10中的一个属性。该方法仍然存在向后兼容性,但将在Django 2.0中删除。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to check if a user is logged in (how to properly use user.is_authenticated)?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

97 − = 94