9

Continuo a ricevere questo errore in momenti casuali e ogni volta che tocchi il file django.wsgi, viene corretto solo per ricominciare dopo alcune ore. Sono perso su cosa fare. i miei middleware_classes è la seguente:AttributeError: L'oggetto 'WSGIRequest' non ha attributo 'session'

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', 
) 

L'errore si verifica sempre nel middleware facebook quando faccio un "se request.session" dichiarazione. Grazie

+1

Hai risolto questo? E come? –

risposta

0

Stai utilizzando Apache? Se è così, probabilmente dovresti riavviare httpd dopo aver modificato il file mod_wsgi.

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

... o simili dovrebbero funzionare. Se stai ancora riscontrando il problema, prova a incollare nel messaggio di errore completo.

+0

Se è richiesto un riavvio completo di Apache dipende da come si usa mod_wsgi. Se si utilizza la modalità daemon, esistono modi per riavviare il codice dell'applicazione senza riavviare l'intero Apache. Consulta "http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode". –

+0

Abbastanza vero. Sto diagnosticando i sintomi un po 'qui: in genere quando vedo un problema ricorrere è perché è stato risolto in un thread di Apache ma non in tutti loro ... da qui l'idea di riavvio. Vale la pena provare :-) – godswearhats

+0

ho ricominciato apache e quello sembrava fare il trucco. grazie per il tuo contributo :-) – kingsley

0

Prova il file di script WSGI alternativo documentato alla fine:

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

Tornate da mod_wsgi lista se funziona come stiamo cercando ancora di scoprire che cosa succede se gli eventuali problemi che lo script si alternano WSGI sta risolvendo, così può capire se un vero problema o se gli utenti non stanno usando Django correttamente.

0

Controllare se nel codice hai scrittura:

del request.session

il modo corretto sono è

del request.session['YOU VARIABLE']

5

Assicurarsi che il SessionMiddleware è il primo nella tua MIDDLEWARE_CLASSES.

+0

Cosa succede se non funziona? – jonprasetyo