9

Je continue d'obtenir cette erreur à des moments aléatoires et chaque fois que je touche le fichier django.wsgi, il ne se répète que quelques heures plus tard. Je suis perdu quant à ce qu'il faut faire. mes MIDDLEWARE_CLASSES se présente comme suit:AttributeError: l'objet 'WSGIRequest' n'a pas d'attribut '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'erreur se produit toujours dans le middleware facebook quand je fais une déclaration « si la request.session ». Merci

+1

Avez-vous résolu ceci? Et comment? –

Répondre

0

Utilisez-vous Apache? Si c'est le cas, vous devriez probablement redémarrer httpd après avoir modifié le fichier mod_wsgi.

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

... ou similaire devrait fonctionner. Si le problème persiste, essayez de coller le message d'erreur complet.

+0

La nécessité d'un redémarrage complet d'Apache dépend de la façon dont vous utilisez mod_wsgi. Si vous utilisez le mode démon, vous pouvez redémarrer le code de l'application sans redémarrer Apache. Voir 'http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode'. –

+0

Assez vrai. Je diagnostique un peu les symptômes ici: généralement quand je vois un problème se reproduire, c'est parce qu'il est corrigé dans un thread Apache mais pas dans chacun d'entre eux ... d'où l'idée de redémarrer. Cela vaut la peine d'essayer :-) – godswearhats

+0

J'ai redémarré apache et cela semblait faire l'affaire. merci à vous deux pour votre contribution :-) – kingsley

0

Essayez le fichier script WSGI alternatif documenté à la fin de:

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

Rapport retour à mod_wsgi liste si cela aide que nous essayons toujours de découvrir si des problèmes que script WSGI alternative est la résolution, Cela peut donc déterminer si un vrai problème ou si les utilisateurs n'utilisent pas correctement Django.

0

Vérifiez si votre code vous écrivez:

del request.session

correctement le sont est

del request.session['YOU VARIABLE']

5

Assurez-vous que le SessionMiddleware est d'abord dans votre MIDDLEWARE_CLASSES.

+0

Et si ça ne marche pas? – jonprasetyo