flask-session
flask-session copied to clipboard
Having issues with loading session using sqlalchemy backend
I noticed there was a fix added for Python 3 to the way session string is handled but I'm still having problems.
data = self.serializer.loads(want_bytes(val)) When this line executes in open_session I'm still not getting my session back. I poked around I noticed pickle is raising exception of type _pickle.UnpicklingError with no message to it.
Python 3.4.0 SQLAlchemy 0.9.8 + MySQL 5.5 Flask 0.10.1
In order to make it work I had to do the following changes.
- in
class Sessiondata column was changed todata = self.db.Column(self.db.BLOB) - in
open_sessionmethod unserializing changed todata = self.serializer.loads(val) - in
open_sessionwhen testing for expiration added test for existence of vlaueif saved_session and saved_session.expiry != None and saved_session.expiry <= datetime.utcnow():This is because upon callingsession.clear()in applicationself.get_expiration_time(app, session)returnsNoneand expiry will be set to Null in database.
This issue was moved to mcrowson/flask-session#8
Fixed post 0.6.0