2010-02-04 3 views
3

Dans un point de vue, je mis:Dans Django, ma request.session ne s'applique pas ... est-ce que quelqu'un sait pourquoi?

request.session.set_expiry(999) 
request.session['test'] = '123' 

Dans une autre vue, je fais:

print request.session['test'] 

et il ne peut pas être trouvé. (erreur) C'est très simple, j'ai juste 2 vues.

Il semble qu'une fois que je quitte une vue et que je revienne à elle ... c'est parti! Pourquoi?

+1

Avez-vous lu cela? http://docs.djangoproject.com/fr/dev/topics/http/sessions/ Essayez de définir un cookie de test (en dessous de http://docs.djangoproject.com/fr/dev/topics/http/sessions/# session-object-guidelines) –

Répondre

1

Êtes-vous, par hasard, en train de définir la session elle-même dans un dictionnaire vide, quelque part?

13

Pourrait-il être lié à cette ?, juste trouvé à http://code.djangoproject.com/wiki/NewbieMistakes

à une liste Adjonction en session ne fonctionne pas problème

Si vous avez une liste dans votre session, ajoutez les opérations n » t être enregistré dans l'objet. Solution

Copier la liste de l'objet de la session, y ajouter du contenu, puis copiez-le dans:

sessionlist = request.session['my_list'] 
sessionlist.append(new_object) 
request.session['my_list'] = sessionlist 
+0

Incroyable. C'était vraiment bizarre pour moi, car tout ce que je ferais ne sauverait que 1 ou 2 éléments dans une liste ou un dict. Le dernier élément changerait, mais il ne me laisserait pas en ajouter plus de 2. –

Questions connexes