Sessions¶
Fresco does not provide any session management itself, but integrates easily with beaker or other session management packages. For example:
from beaker.middleware import SessionMiddleware
from fresco import FrescoApp
session_opts = {'session.type': 'file',
'session.auto': True,
'session.data_dir': '/tmp/session-data'}
app = FrescoApp()
app.add_middleware(SessionMiddleware, session_opts)
The session can then be accessed via context.request.session
, eg:
def myview():
session = context.request.session
count = session.get('count', 0)
session['count'] = count + 1
return Response(['Count is %d' % count])
Fresco is pre-configured to work with beaker. If you prefer to use a different
package, normally all that is required is to change the value of
Request.SESSION_ENV_KEY
. For example:
Request.SESSION_ENV_KEY = 'com.saddi.service.session'