AttributeError:“WSGIRequest”对象没有属性“会话”

Posted

技术标签:

【中文标题】AttributeError:“WSGIRequest”对象没有属性“会话”【英文标题】:AttributeError: 'WSGIRequest' object has no attribute 'session' 【发布时间】:2011-03-15 21:57:55 【问题描述】:

我在随机时间不断收到此错误,并且每当我触摸 django.wsgi 文件时,它都会得到修复,直到几个小时后再次发生。我不知道该怎么做。我的 middleware_classes 如下:

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.csrf.CsrfResponseMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.facebookConnectMiddleware.FacebookConnectMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)

当我执行“if request.session”语句时,facebook 中间件中总是会出现错误。 谢谢

【问题讨论】:

你解决了吗?以及如何? 【参考方案1】:

确保 SessionMiddleware 在您的 MIDDLEWARE_CLASSES 中排在首位。

【讨论】:

从 Django 2.0 开始 MIDDLEWARE_CLASSES 替换为 MIDDLEWARE - more here【参考方案2】:

检查你的代码中是否写过:

删除请求.session

正确的是

del request.session['YOU VARIABLE']

【讨论】:

【参考方案3】:

尝试在末尾记录的备用 WSGI 脚本文件:

http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

如果有帮助,请向 mod_wsgi 列表报告,因为我们仍在尝试发现备用 WSGI 脚本正在解决的任何问题,因此可以确定是真正的问题还是用户没有正确使用 Django。

【讨论】:

【参考方案4】:

您使用的是 Apache 吗?如果是这样,您可能应该在修改 mod_wsgi 文件后重新启动 httpd。

sudo apachectl -k restart
sudo apache2ctl -k restart
sudo /etc/init.d/httpd restart

... 或类似的应该可以工作。如果问题仍然存在,请尝试粘贴完整的错误消息。

【讨论】:

是否需要完全重启 Apache 取决于您使用 mod_wsgi 的方式。如果使用守护程序模式,有一些方法可以在不重新启动整个 Apache 的情况下重新启动应用程序代码。请参阅“code.google.com/p/modwsgi/wiki/ReloadingSourceCode”。 确实如此。我在这里稍微诊断一下症状:通常,当我看到问题再次出现时,这是因为它已在一个 Apache 线程中修复,但并非在所有线程中都已修复......因此重新启动的想法。值得一试:-) 我重新启动了 apache,这似乎可以解决问题。谢谢你们的意见:-) nope.. 问题又出现了。输入没有结尾斜杠的 url 会出现错误,并且只有在我触摸 django.wsgi..what to do.. 时才会暂时修复 您的 wsgi 文件是什么样的?还有你的 urls.py?

以上是关于AttributeError:“WSGIRequest”对象没有属性“会话”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:“字节”对象没有属性“告诉”

AttributeError: 'RDD' 对象没有属性 'show'

AttributeError:“NumpyArrayIterator”对象没有属性“类”

AttributeError:模块 'dbus' 没有属性 'lowlevel'

AttributeError:模块'keras'没有属性'initializers'

AttributeError:“会话”对象没有属性“会话”