有人能告诉我为什么在下面的代码中我被重定向到yahoo.com而不是google.com吗?
网址
urlpatterns = patterns('', (r'^$', initialRequest,))
查看
def initialRequest(request):
if request.user.is_authenticated:
return HttpResponseRedirect('http://yahoo.com')
else:
return HttpResponseRedirect('http://google.com')
它再次从Pull请求#216更改。
现在您的问题已经解决了,如果您使用的是Django 2.0+,请看这个GitHub issue与您遇到的问题相同。所以在Django 2.0+
是真的!
正如Richard提到的那样,authenticated是一个函数,因此在您看来应该像这样调用它:
request.user.is_authenticated()
。由于django模板语言的存在,可能会出现混淆,因为在模板中调用它会使其显示为属性而不是方法。
{{ user.is_authenticated}}
https://docs.djangoproject.com/en/dev/topics/auth/它不应该是
request.user.is_authenticated()
,也就是说,有括号作为函数吗?对于Django 1.10+
is_authenticated
现在是一个属性(尽管它现在保持向后兼容)。相关问题 更多 >
编程相关推荐