如何修复Python Django中涉及request.user.u authenticated()和bool对象不可调用的错误?
我正在尝试为每个用户创建配置文件页面。我添加了一个代码,用于检查用户是否登录并执行重定向(请参见下面代码的第12行) 但是,在访问/注册/站点时,我会收到以下调试消息:如何修复Python Django中涉及request.user.u authenticated()和bool对象不可调用的错误?,django,python-3.x,Django,Python 3.x,我正在尝试为每个用户创建配置文件页面。我添加了一个代码,用于检查用户是否登录并执行重定向(请参见下面代码的第12行) 但是,在访问/注册/站点时,我会收到以下调试消息: TypeError at /signup/ 'bool' object is not callable Request Method: GET Request URL: http://url:8000/signup/ Django Version: 2.0 Exception Type: TypeError Excepti
TypeError at /signup/
'bool' object is not callable
Request Method: GET
Request URL: http://url:8000/signup/
Django Version: 2.0
Exception Type: TypeError
Exception Value:
'bool' object is not callable
Exception Location: /www/mysite.com/mysite/views.py in signup, line 13
Python Executable: /usr/bin/python3
Python Version: 3.5.2
Python Path:
['/www/mysite.com',
'/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-x86_64-linux-gnu',
'/usr/lib/python3.5/lib-dynload',
'/usr/lib/python3.5/site-packages',
'/usr/local/lib/python3.5/dist-packages',
'/usr/lib/python3/dist-packages']
Server time: Sun, 3 Dec 2017 18:07:54 -0800
在Django request.user.is_的旧版本中,身份验证是一种方法。它现在是一个属性,不再需要括号。如果您将代码更改为:
if request.user.is\u经过身份验证:
它应该像预期的那样工作
有关更多信息,请参阅此处的文档:如果您忘记导入csrf模块,请尝试添加此行,并确保避免硬编码url尝试使用url名称
from django.core.context_processors import csrf
你能发布调试消息吗?看起来你忘记粘贴了。我添加了它(除了堆栈的痕迹)。如果你需要更多的信息,请告诉我。
from django.core.context_processors import csrf