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

我正在看这个网站,但似乎无法弄清楚如何做到这一点,因为它不工作。 我需要检查当前的网站用户是否login(validation),并试图:

request.user.is_authenticated 

尽pipe确定用户已经login,但它只返回:

 > 

我可以做其他的请求(从上面的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中被删除。

以下块应该工作:

  {% if user.is_authenticated %} <p>Welcome {{ user.username }} !!!</p> {% endif %}