AttributeError:'WSGIRequest'对象没有属性'session'

时间:2010-07-14 14:55:59

标签: django session middleware django-middleware django-sessions

我随机时间不断收到此错误,每当我触摸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中间件中。 感谢

4 个答案:

答案 0 :(得分:5)

确保SessionMiddleware位于MIDDLEWARE_CLASSES

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

尝试结束时记录的备用WSGI脚本文件:

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

报告回mod_wsgi列表,如果这有帮助,因为我们仍然试图发现如果替换WSGI脚本正在解决的任何问题,那么可以确定是否存在真正的问题或用户是否正确使用Django。

答案 3 :(得分:0)

检查您的代码中是否写了:

  

del request.session

正确的是

  

del request.session ['YOU VARIABLE']