2010-07-14 149 views
9

我隨時都會收到這個錯誤,只要我碰到django.wsgi文件,它就會被固定,只會在幾個小時後再次發生。我失去了做什麼。我的中間件類如下:AttributeError:'WSGIRequest'對象沒有任何屬性'會話'

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

你解決了這個問題嗎?如何? – 2013-12-20 06:35:44

回答

0

你使用的是Apache嗎?如果是這樣,你應該在修改mod_wsgi文件後重新啓動httpd。

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

...或類似的應該工作。如果您仍然看到問題,請嘗試粘貼完整的錯誤消息。

+0

是否需要完整的Apache重新啓動取決於您如何使用mod_wsgi。如果使用守護進程模式,可以在不重新啓動整個Apache的情況下重新啓動應用程序代碼。請參閱「http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode」。 – 2010-07-15 00:21:18

+0

確實夠了。我在這裏診斷一些症狀:通常當我看到問題再次發生時,這是因爲它在一個Apache線程中被修復,但並不是所有這些線程都被修復......因此重啓思想。這是值得一試:-) – godswearhats 2010-07-15 15:36:42

+0

我重新啓動apache,這似乎是伎倆。謝謝你的輸入:-) – kingsley 2010-07-15 16:21:47

0

檢查是否在你的代碼中有寫:

del request.session

正確的是

del request.session['YOU VARIABLE']

5

確保SessionMiddleware是先在你MIDDLEWARE_CLASSES

+0

如果這不起作用? – jonprasetyo 2016-05-04 08:52:15