django request.user.is_authenticated siempre es cierto?

¿Alguien puede decirme por qué en el siguiente código me redirecciono a yahoo.com en lugar de google.com?

urls

urlpatterns = patterns('', (r'^$', initialRequest,)) 

ver

 def initialRequest(request): if request.user.is_authenticated: return HttpResponseRedirect('http://yahoo.com') else: return HttpResponseRedirect('http://google.com') 

¿No debería ser request.user.is_authenticated() es decir, con corchetes, ya que es una función?

Para Django 1.10 +

is_authenticated ahora es un atributo (aunque por ahora se mantiene compatible con versiones anteriores).

Como Richard mencionó, is_authenticated es una función, por lo que en su opinión debe llamarse como: request.user.is_authenticated()

Debido al lenguaje de plantillas de django, puede haber confusión, porque el hecho de incluir esto en una plantilla hace que aparezca como una propiedad y no como un método.

{{ user.is_authenticated}} https://docs.djangoproject.com/en/dev/topics/auth/

ha cambiado de nuevo desde la solicitud de extracción # 216 .

Ahora su problema está resuelto, si está utilizando Django 2.0+, observe que este problema de GitHub es el mismo problema que tuvo. así que en Django 2.0+

 request.user.is_authenticated 

¡es verdad!

Tengo django 2.0, probé esto y funciona

 if request.user.is_authenticated: