“ WSGIRequest”对象没有属性“ is_authenticated”

时间:2018-11-10 19:47:57

标签: python django-2.1

我正在检查我的views.py中的用户是否已通过身份验证。但是Django不断抛出异常WSGIRequest object has no attribute 'is_authenticated'。我读过关于stackoverflow和github的一些与此类似的问题,每个人都指向移动中间件。我已经尝试了各种方法来重构我的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',
]

1 个答案:

答案 0 :(得分:1)

也许你想写:

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