'AnonymousUser' object is not iterable

后端 未结 2 1558
暖寄归人
暖寄归人 2021-02-19 20:29
if not request.user.is_authenticated:
    return None

try:
    return ClientProfile.objects.get(user=request.user)
except ClientProfile.DoesNotExist:
    return None


        
相关标签:
2条回答
  • 2021-02-19 20:55

    This error might arise if you are trying to logging in as a guest user. In my project i m trying to provide membership on the basis of free,enterprise and professional and i got the same error.

    so replace

    return ClientProfile.objects.get(user=request.user) with

    return ClientProfile.objects.filter().first()

    0 讨论(0)
  • 2021-02-19 21:11

    In Django 1.9 and earlier, is_authenticated() is a method, you must call it.

    if not request.user.is_authenticated():
        ...
    

    It's an easy mistake to forget to call the method. In your case it's causing an error, but in other cases it might allow users to have access to data that they shouldn't. From Django 1.10, is_authenticated is changing to a property to prevent this.

    0 讨论(0)
提交回复
热议问题