使用 Django自带的 auth 用户验证功能,编写函数,使用 is_authenticated 检查用户是否登录,结果报错:
TypeError at / 'bool' object is not callable
编写函数如下:

def index(request, pid=None, del_pass=None):
if request.user.is_authenticated():
username = request.user.username
useremail = request.user.email
messages.get_messages(request)
template = get_template('index.html')
html = template.render(context=locals(), request=request)
return HttpResponse(html)

查询相关资料,发现 is_authenticated 是属性而不是方法,我们应该把括号去掉,这样就没什么问题了。
将 if request.user.is_authenticated(): 改为 if request.user.is_authenticated:
本文解决了一个常见的Django框架编程问题,即如何正确使用is_authenticated属性检查用户是否登录,避免将属性误用为方法调用导致的TypeError。
682

被折叠的 条评论
为什么被折叠?



