예제 #1
0
    def save_session(self, app, session, response):
        try:
            domain = self.get_cookie_domain(app)
            path = self.get_cookie_path(app)
            httponly = self.get_cookie_secure(app)
            secure = self.get_cookie_secure(app)
            expires = self.get_expiration_time(app, session)

            response.set_cookie(app.session_cookie_name,
                                session['key'],
                                expires=expires,
                                httponly=httponly,
                                domain=domain,
                                path=path,
                                secure=secure)

            try:
                obj = DjangoSession.objects.get(session_key=session['key'])
            except DjangoSession.DoesNotExist:
                obj = DjangoSession(session_key=session['key'])

            obj.session_data = pickle.dumps(dict(session))
            obj.expire_date = expires or (datetime.now() + timedelta(days=30))
            obj.save()
        finally:
            close_old_connections()
예제 #2
0
 def save_session(self, app, session, response):
     try:
         obj = DjangoSession.objects.get(session_key=session['key'])
     except DjangoSession.DoesNotExist:
         obj = DjangoSession(session_key=session['key'])
     
     obj.session_data = json.dumps(dict(session, fix_imports=True))
     obj.expire_date =  get_datetime_now() + timedelta(days=365)
     obj.save()
     
     close_old_connections()