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: 'RDD' 对象没有属性 'show'
AttributeError:“NumpyArrayIterator”对象没有属性“类”
AttributeError:模块 'dbus' 没有属性 'lowlevel'