'WSGIRequest' 对象没有属性 'is_authenticated'

'WSGIRequest' object has no attribute 'is_authenticated'

我正在检查用户是否在我的 views.py 中经过身份验证。然而,Django 不断抛出异常 WSGIRequest object has no attribute 'is_authenticated'。我通读了一些关于 Whosebug 和 github 的类似问题,每个人都指向移动 middleware.I 已经尝试了几乎所有方法来重组我的 MIDDLEWARE,正如在同一问题的其他答案中提到的但我一直无法解决它。我什至阅读了 ordering middleware 的文档,但无法从中收集到太多信息。

views.py

@staticmethod
def cmshome(request):
    if request.is_authenticated:
        return redirect('/cms/')
    username = request.session['user']
    profile_object = Profile.objects.all().filter(user__username=username)
    return render(request, 'cms/cmshome.html', {'profile_content': profile_object})

中间件

MIDDLEWARE_CLASSES = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

也许您想写:

if request.user.is_authenticated:
    return redirect('/cms/')