Seite 1 von 1

bottle sessions

Verfasst: Donnerstag 21. Januar 2010, 19:55
von jbs
Ich bin gerade dabei eine Anwendungen für ein Schulprojekt zu schreiben und möchte Sessions verwenden.

Das ganze hab ich jetzt mit beakers SessionMiddleware gelöst. Um nicht jedesmal die Session mit request.environ.get zu hohlen, habe ich der Klasse Request noch ein property session hinzugefügt.

Code: Alles auswählen

import bottle
from bottle import *
from beaker.middleware import SessionMiddleware

bottle.Request.session = property(lambda self: bottle.request.environ.get('beaker.session', None))

@route('/test')
def test():
    s = request.session
    s['test'] = s.get('test', 0) + 1
    return 'count:', s['test']

session_opts = {
    'session.type': 'file',
    'session.cookie_expires': 300,
    'session.data_dir': './data',
    'session.auto': True,
}

app = SessionMiddleware(default_app(), session_opts)
run(app=app)
Ist das der beste Weg? Mir gefällts eigentlich recht gut.

Verfasst: Donnerstag 21. Januar 2010, 20:22
von mkesper

Code: Alles auswählen

import bottle
from bottle import *
versteh ich nicht ganz.

Verfasst: Donnerstag 21. Januar 2010, 20:24
von jbs
Stimmt der *-import reicht. Ich bin halt faul.

Wenn ich von woanders was kopierer steht da halt manchmal bottle vor. Daher der 2. import.