我正在看这个网站,但似乎无法弄清楚该怎么做,因为它不起作用。我需要检查当前站点用户是否已登录(已验证),并且正在尝试:
request.user.is_authenticated
尽管确定用户已登录,但它仅返回:
>
我可以执行其他请求(来自上面url的第一部分),例如:
request.user.is_active
这将返回成功的响应。
Django 1.10+更新:is_authenticated现在是Django 1.10中的属性。为了向后兼容,该方法仍然存在,但在Django 2.0中将被删除。
is_authenticated
对于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类中的方法。