小编典典

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

python

我正在看这个网站,但似乎无法弄清楚该怎么做,因为它不起作用。我需要检查当前站点用户是否已登录(已认证),并且正在尝试:

request.user.is_authenticated

尽管确定用户已登录,但它仅返回:

>

我可以执行其他请求(来自上面url的第一部分),例如:

request.user.is_active

这将返回成功的响应。


阅读 190

收藏
2020-12-20

共1个答案

小编典典

Django 1.10+更新

is_authenticated现在是Django 1.10中的 属性

该方法已在Django 2.0中删除。

对于Django 1.9及更早版本

is_authenticated是一个功能。你应该这样称呼它

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

正如Peter
Rowell所指出的那样,可能让您感到困扰的是,在默认的Django模板语言中,您无需附加括号即可调用函数。因此,您可能已经在模板代码中看到了以下内容:

{% if user.is_authenticated %}

但是,在Python代码中,它确实是User类中的方法。

2020-12-20