J'ai utilisé geasessions pendant un moment, fonctionnait très bien. C'est simple et rapide.get_current_session renvoie Aucun
Mais aujourd'hui, j'ai commencé un nouveau projet (GAE v1.3.7) et ne peut pas le faire fonctionner, get_current_session()
juste retourne None
J'ai divisé le code pour un nouveau projet qui vient à l'aide gaesessions:
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
from gaesessions import get_current_session
import logging
class MainHandler(webapp.RequestHandler):
def get(self):
session = get_current_session()
logging.info(session)
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, { }))
Et dans le journal, il est juste None
.
La partie étrange est que les autres solutions fonctionnent encore. (Je suppose que c'est dû au fait que le db.Model for Session est déjà présent). Testé à la fois la version que je l'utilise là-bas et téléchargé la dernière version (1,04)
J'ai regardé les source code pour gaesessions et faire un peu de sens qu'il retourne None:
_current_session = None
def get_current_session():
"""Returns the session associated with the current request."""
return _current_session
Et je ne peux pas trouver n'importe où où la classe Session est invoquée, mais là encore, il pourrait s'agir de mes compétences python laking.
Est-ce que quelqu'un utilise gesession et sait ce qui se passe?
Vous avez absolument oublié d'ajouter SessionMiddleware dans appengine_config! – fredrik