Django views Django';注销';类型错误:';匿名用户';对象是不可编辑的

Django views Django';注销';类型错误:';匿名用户';对象是不可编辑的,django-views,python-3.7,django-authentication,django-class-based-views,django-3.0,Django Views,Python 3.7,Django Authentication,Django Class Based Views,Django 3.0,你好 Django3.0中的身份验证有问题 我的项目取决于为每个操作(如帖子、评论、收藏夹等)的用户打分 我使用自定义上下文处理器在多个模板中获取这些值 我的问题:当我登录时。。一切正常(管理面板、新帖子、新评论等) 当我注销的时候。。所有的项目都疯了,所有的页面都不工作。。获取以下错误: 'AnonymousUser' object is not iterable 型号.py class Post(models.Model): title = models.CharField(max

你好

Django3.0中的身份验证有问题

我的项目取决于为每个操作(如帖子、评论、收藏夹等)的用户打分

我使用自定义上下文处理器在多个模板中获取这些值

我的问题:当我登录时。。一切正常(管理面板、新帖子、新评论等)

当我注销的时候。。所有的项目都疯了,所有的页面都不工作。。获取以下错误:

'AnonymousUser' object is not iterable
型号.py

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    likes = models.ManyToManyField(User, related_name='likes', blank=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    favourite = models.ManyToManyField(User, related_name='favourite', blank=True)

    def __str__(self):
        return self.title

class Comment(models.Model):
    user = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name='commenter')
    content = models.TextField(verbose_name='Comment')
    post = models.ForeignKey(
        Post, on_delete=models.CASCADE, related_name='comments')

    def __str__(self):
        return '{} Commented On {}.'.format(self.user, self.post)
def logout_user(request):
    logout(request)
    return render(request, 'user/logout.html', {})
def extra_cp(request):
    categories = Category.objects.all()

    postsperuser = Post.objects.filter(author=request.user)
    postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
    postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

    commentsperuser = Comment.objects.filter(user=request.user)
    commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
    commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

    total_points = postspoints['posts_score'] + commentspoints['comments_score']

    comment_list = Comment.objects.filter(user=request.user)

    context = {
        'categories': categories,
        'postsperuser': postsperuser,
        'postspoints':postspoints,
        'commentsperuser':commentsperuser,
        'commentspoints':commentspoints,
        'comment_list': comment_list,
        'total_points': total_points,
                    }
    return context
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR + '/templates/', ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'common.context_processors.extra_cp'

            ],
        },
    },
]
def extra_cp(request):
    categories = Category.objects.all()
    user = request.user.is_authenticated
    context = {}

    if user:
        postsperuser = Post.objects.filter(author=request.user)
        postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
        postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

        commentsperuser = Comment.objects.filter(user=request.user)
        commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
        commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

        total_points = postspoints['posts_score'] + commentspoints['comments_score']

        comment_list = Comment.objects.filter(user=request.user)

        context = {
            'categories': categories,
            'postsperuser': postsperuser,
            'postspoints': postspoints,
            'commentsperuser': commentsperuser,
            'commentspoints': commentspoints,
            'comment_list': comment_list,
            'total_points': total_points,
        }

    return context
视图.py

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    likes = models.ManyToManyField(User, related_name='likes', blank=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    favourite = models.ManyToManyField(User, related_name='favourite', blank=True)

    def __str__(self):
        return self.title

class Comment(models.Model):
    user = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name='commenter')
    content = models.TextField(verbose_name='Comment')
    post = models.ForeignKey(
        Post, on_delete=models.CASCADE, related_name='comments')

    def __str__(self):
        return '{} Commented On {}.'.format(self.user, self.post)
def logout_user(request):
    logout(request)
    return render(request, 'user/logout.html', {})
def extra_cp(request):
    categories = Category.objects.all()

    postsperuser = Post.objects.filter(author=request.user)
    postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
    postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

    commentsperuser = Comment.objects.filter(user=request.user)
    commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
    commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

    total_points = postspoints['posts_score'] + commentspoints['comments_score']

    comment_list = Comment.objects.filter(user=request.user)

    context = {
        'categories': categories,
        'postsperuser': postsperuser,
        'postspoints':postspoints,
        'commentsperuser':commentsperuser,
        'commentspoints':commentspoints,
        'comment_list': comment_list,
        'total_points': total_points,
                    }
    return context
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR + '/templates/', ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'common.context_processors.extra_cp'

            ],
        },
    },
]
def extra_cp(request):
    categories = Category.objects.all()
    user = request.user.is_authenticated
    context = {}

    if user:
        postsperuser = Post.objects.filter(author=request.user)
        postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
        postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

        commentsperuser = Comment.objects.filter(user=request.user)
        commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
        commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

        total_points = postspoints['posts_score'] + commentspoints['comments_score']

        comment_list = Comment.objects.filter(user=request.user)

        context = {
            'categories': categories,
            'postsperuser': postsperuser,
            'postspoints': postspoints,
            'commentsperuser': commentsperuser,
            'commentspoints': commentspoints,
            'comment_list': comment_list,
            'total_points': total_points,
        }

    return context
context\u processors.py

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    likes = models.ManyToManyField(User, related_name='likes', blank=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    favourite = models.ManyToManyField(User, related_name='favourite', blank=True)

    def __str__(self):
        return self.title

class Comment(models.Model):
    user = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name='commenter')
    content = models.TextField(verbose_name='Comment')
    post = models.ForeignKey(
        Post, on_delete=models.CASCADE, related_name='comments')

    def __str__(self):
        return '{} Commented On {}.'.format(self.user, self.post)
def logout_user(request):
    logout(request)
    return render(request, 'user/logout.html', {})
def extra_cp(request):
    categories = Category.objects.all()

    postsperuser = Post.objects.filter(author=request.user)
    postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
    postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

    commentsperuser = Comment.objects.filter(user=request.user)
    commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
    commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

    total_points = postspoints['posts_score'] + commentspoints['comments_score']

    comment_list = Comment.objects.filter(user=request.user)

    context = {
        'categories': categories,
        'postsperuser': postsperuser,
        'postspoints':postspoints,
        'commentsperuser':commentsperuser,
        'commentspoints':commentspoints,
        'comment_list': comment_list,
        'total_points': total_points,
                    }
    return context
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR + '/templates/', ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'common.context_processors.extra_cp'

            ],
        },
    },
]
def extra_cp(request):
    categories = Category.objects.all()
    user = request.user.is_authenticated
    context = {}

    if user:
        postsperuser = Post.objects.filter(author=request.user)
        postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
        postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

        commentsperuser = Comment.objects.filter(user=request.user)
        commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
        commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

        total_points = postspoints['posts_score'] + commentspoints['comments_score']

        comment_list = Comment.objects.filter(user=request.user)

        context = {
            'categories': categories,
            'postsperuser': postsperuser,
            'postspoints': postspoints,
            'commentsperuser': commentsperuser,
            'commentspoints': commentspoints,
            'comment_list': comment_list,
            'total_points': total_points,
        }

    return context
设置.py

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    likes = models.ManyToManyField(User, related_name='likes', blank=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    favourite = models.ManyToManyField(User, related_name='favourite', blank=True)

    def __str__(self):
        return self.title

class Comment(models.Model):
    user = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name='commenter')
    content = models.TextField(verbose_name='Comment')
    post = models.ForeignKey(
        Post, on_delete=models.CASCADE, related_name='comments')

    def __str__(self):
        return '{} Commented On {}.'.format(self.user, self.post)
def logout_user(request):
    logout(request)
    return render(request, 'user/logout.html', {})
def extra_cp(request):
    categories = Category.objects.all()

    postsperuser = Post.objects.filter(author=request.user)
    postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
    postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

    commentsperuser = Comment.objects.filter(user=request.user)
    commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
    commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

    total_points = postspoints['posts_score'] + commentspoints['comments_score']

    comment_list = Comment.objects.filter(user=request.user)

    context = {
        'categories': categories,
        'postsperuser': postsperuser,
        'postspoints':postspoints,
        'commentsperuser':commentsperuser,
        'commentspoints':commentspoints,
        'comment_list': comment_list,
        'total_points': total_points,
                    }
    return context
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR + '/templates/', ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'common.context_processors.extra_cp'

            ],
        },
    },
]
def extra_cp(request):
    categories = Category.objects.all()
    user = request.user.is_authenticated
    context = {}

    if user:
        postsperuser = Post.objects.filter(author=request.user)
        postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
        postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)

        commentsperuser = Comment.objects.filter(user=request.user)
        commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
        commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)

        total_points = postspoints['posts_score'] + commentspoints['comments_score']

        comment_list = Comment.objects.filter(user=request.user)

        context = {
            'categories': categories,
            'postsperuser': postsperuser,
            'postspoints': postspoints,
            'commentsperuser': commentsperuser,
            'commentspoints': commentspoints,
            'comment_list': comment_list,
            'total_points': total_points,
        }

    return context
回溯错误:

Django version 3.0.3, using settings 'my_blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Internal Server Error: /
Traceback (most recent call last):
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
    response = get_response(request)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "D:\Private\PythonProjects\ProCoers02\src\blog-django-ar-master\src\blog\views.py", line 59, in HomePageView
    return render(request, 'blog/home.html', {})
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\backends\django.py", line 61, in render
    return self.template.render(context)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\base.py", line 169, in render
    with context.bind_template(self):
  File "C:\Users\clt\AppData\Local\Programs\Python\Python38-32\lib\contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\context.py", line 246, in bind_template
    updates.update(processor(self.request))
  File "D:\Private\PythonProjects\ProCoers02\src\blog-django-ar-master\src\common\context_processors.py", line 19, in extra_cp
    postsperuser = Post.objects.filter(author=request.user)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\query.py", line 904, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\query.py", line 923, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1350, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1377, in _add_q
    child_clause, needed_inner = self.build_filter(
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1284, in build_filter
    self.check_related_objects(join_info.final_field, value, join_info.opts)
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1124, in check_related_objects
    for v in value:
  File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\utils\functional.py", line 225, in inner
    return func(self._wrapped, *args)
TypeError: 'AnonymousUser' object is not iterable
[02/Apr/2020 00:23:21] "GET / HTTP/1.1" 500 137245
我认为解决办法是在django会议中。。我试了好几次,在这里搜索了多个问题和答案,但都失败了

有人能帮忙吗


提前感谢您的支持……

您正在上下文处理器中筛选用户。 它只在用户登录时才起作用。
您可以使用if语句来检查他们是否已登录,或者使用try and except。

经过简单的修改后,它就工作了:

  • 将用户定义为
    user.request.is\u经过身份验证
  • 在if语句之前添加了作为空字典的上下文
  • 使用if语句,如下所示
  • 在if语句中移动上下文
  • 保持返回上下文的原样
  • context\u processors.py

    class Post(models.Model):
        title = models.CharField(max_length=100)
        content = models.TextField()
        likes = models.ManyToManyField(User, related_name='likes', blank=True)
        author = models.ForeignKey(User, on_delete=models.CASCADE)
        favourite = models.ManyToManyField(User, related_name='favourite', blank=True)
    
        def __str__(self):
            return self.title
    
    class Comment(models.Model):
        user = models.ForeignKey(
            User, on_delete=models.CASCADE, related_name='commenter')
        content = models.TextField(verbose_name='Comment')
        post = models.ForeignKey(
            Post, on_delete=models.CASCADE, related_name='comments')
    
        def __str__(self):
            return '{} Commented On {}.'.format(self.user, self.post)
    
    def logout_user(request):
        logout(request)
        return render(request, 'user/logout.html', {})
    
    def extra_cp(request):
        categories = Category.objects.all()
    
        postsperuser = Post.objects.filter(author=request.user)
        postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
        postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)
    
        commentsperuser = Comment.objects.filter(user=request.user)
        commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
        commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)
    
        total_points = postspoints['posts_score'] + commentspoints['comments_score']
    
        comment_list = Comment.objects.filter(user=request.user)
    
        context = {
            'categories': categories,
            'postsperuser': postsperuser,
            'postspoints':postspoints,
            'commentsperuser':commentsperuser,
            'commentspoints':commentspoints,
            'comment_list': comment_list,
            'total_points': total_points,
                        }
        return context
    
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [BASE_DIR + '/templates/', ],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                    'common.context_processors.extra_cp'
    
                ],
            },
        },
    ]
    
    def extra_cp(request):
        categories = Category.objects.all()
        user = request.user.is_authenticated
        context = {}
    
        if user:
            postsperuser = Post.objects.filter(author=request.user)
            postsperusercount = Post.objects.all().annotate(posts_count=Count('title')).filter(author=request.user)
            postspoints = postsperusercount.aggregate(posts_score=Count('posts_count') * 1000)
    
            commentsperuser = Comment.objects.filter(user=request.user)
            commentsperusercount = Comment.objects.all().annotate(comments_count=Count('content')).filter(user=request.user)
            commentspoints = commentsperusercount.aggregate(comments_score=Count('comments_count') * 350)
    
            total_points = postspoints['posts_score'] + commentspoints['comments_score']
    
            comment_list = Comment.objects.filter(user=request.user)
    
            context = {
                'categories': categories,
                'postsperuser': postsperuser,
                'postspoints': postspoints,
                'commentsperuser': commentsperuser,
                'commentspoints': commentspoints,
                'comment_list': comment_list,
                'total_points': total_points,
            }
    
        return context
    
    请注意:

    Django version 3.0.3, using settings 'my_blog.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    Internal Server Error: /
    Traceback (most recent call last):
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
        response = get_response(request)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
        response = self.process_exception_by_middleware(e, request)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "D:\Private\PythonProjects\ProCoers02\src\blog-django-ar-master\src\blog\views.py", line 59, in HomePageView
        return render(request, 'blog/home.html', {})
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\shortcuts.py", line 19, in render
        content = loader.render_to_string(template_name, context, request, using=using)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\loader.py", line 62, in render_to_string
        return template.render(context, request)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\backends\django.py", line 61, in render
        return self.template.render(context)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\base.py", line 169, in render
        with context.bind_template(self):
      File "C:\Users\clt\AppData\Local\Programs\Python\Python38-32\lib\contextlib.py", line 113, in __enter__
        return next(self.gen)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\template\context.py", line 246, in bind_template
        updates.update(processor(self.request))
      File "D:\Private\PythonProjects\ProCoers02\src\blog-django-ar-master\src\common\context_processors.py", line 19, in extra_cp
        postsperuser = Post.objects.filter(author=request.user)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\manager.py", line 82, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\query.py", line 904, in filter
        return self._filter_or_exclude(False, *args, **kwargs)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\query.py", line 923, in _filter_or_exclude
        clone.query.add_q(Q(*args, **kwargs))
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1350, in add_q
        clause, _ = self._add_q(q_object, self.used_aliases)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1377, in _add_q
        child_clause, needed_inner = self.build_filter(
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1284, in build_filter
        self.check_related_objects(join_info.final_field, value, join_info.opts)
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\db\models\sql\query.py", line 1124, in check_related_objects
        for v in value:
      File "D:\Private\PythonProjects\ProCoers02\lib\site-packages\django\utils\functional.py", line 225, in inner
        return func(self._wrapped, *args)
    TypeError: 'AnonymousUser' object is not iterable
    [02/Apr/2020 00:23:21] "GET / HTTP/1.1" 500 137245
    
    @Omonbude Emmanuel是真的。。它必须是
    request.user.is\u authenticated()
    ,因为使用了Django 3.0

    但是它使用的是
    request.user.is\u身份验证
    ,而不使用
    ()
    。。我不知道为什么

    非常感谢大家


    致以最诚挚的问候,

    感谢您的快速响应,我使用了
    if request.user.is\u验证了
    并尝试了尝试和排除。。但它一无所获。。如果你能举个例子的话。。这会有很大帮助。您使用的是什么Django版本?如果您使用的是Django 1.10+,那么您应该使用属性request.user.is\u authenticated。如果您使用的是Django 1.9或更早版本,则必须使用request.user.is_authenticated()。@omonbudemanuel您好,欢迎使用堆栈溢出。。。请记住,这并不能回答这个问题。一旦你有足够的声誉,你将能够。相反