python - 'WSGIRequest' 对象没有属性 'is_authenticated'
问题描述
我正在检查用户是否在我的views.py
. 然而,Django 不断抛出异常WSGIRequest object has no attribute 'is_authenticated'
。我在stackoverflow和github上阅读了一些关于这个问题的类似问题,每个人都指向移动中间件。我已经尝试了几乎所有方法来重组我的中间件,正如同一问题的其他答案中提到的那样,但我没有能够解决它。我什至阅读了订购中间件的文档,但无法从中收集到太多信息。
视图.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/')
推荐阅读
- sql - 如何查询审计表以添加开始结束日期
- php - 如何在 PHP 的函数中本地使用全局数组中的值?
- java - 在java中的多线程中限制对象的创建
- python-3.x - 如何使用 google-compute-engine python 客户端过滤 Google Cloud 实例?
- sql - 如何在插入但不使用插入值时使用触发器进行更新
- laravel - Braintree 的金额无效,为什么?
- typescript - 键入一个数组,我知道第一个值的类型,但我不知道数组长度,也不知道所有其他值的类型
- python - 有没有办法使用 PyMongo 在我的 kivy 程序中嵌入 MongoDB 图表?
- pdf - 获取 pdf 文件中的检查值
- wordpress - Wordpress 默认语言无法在移动设备上运行