解决PythonDjango错误“TypeError: ‘bool‘ object is not callable”

【参考链接】
python-flask 教程学习过程遇到难题TypeError: 'bool' object is not callableicon-default.png?t=M85Bhttps://link.jianshu.com/?t=http%3A%2F%2Fbbs.csdn.net%2Ftopics%2F391875382

这个是我项目写的用户模型

这是调用的时候的代码和错误:

出错的代码

if org_id:
    org = OrgInfo.objects.filter(id=int(org_id))[0]
    lovestatus = False
    if request.user.is_authenticated():
        love = UserLove.objects.filter(love_man=request.user, love_id=int(org_id), love_type=1, love_status=True)
        if love:
            lovestatus = True

    return render(request, 'orgs/org-detail-desc.html', {
        'org': org,
        'detail_type': 'desc',
        'lovestatus': lovestatus
    })

出错的原因是因为我把is_authenticated写成了is_authenticated()

因为is_authenticated是一个属性,但是加了括号之后就是一个方法,所以会报错

最后只要将request.user.is_authenticated()的括号去掉就好了,之后程序错误消失了

if org_id:
    org = OrgInfo.objects.filter(id=int(org_id))[0]
    lovestatus = False
    if request.user.is_authenticated:
        love = UserLove.objects.filter(love_man=request.user, love_id=int(org_id), love_type=1, love_status=True)
        if love:
            lovestatus = True

    return render(request, 'orgs/org-detail-desc.html', {
        'org': org,
        'detail_type': 'desc',
        'lovestatus': lovestatus
    })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值