Package cherrypy :: Package tutorial :: Module tut07_sessions
[hide private]
[frames] | no frames]

Source Code for Module cherrypy.tutorial.tut07_sessions

 1  """ 
 2  Tutorial - Sessions 
 3   
 4  Storing session data in CherryPy applications is very easy: cherrypy 
 5  provides a dictionary called "session" that represents the session 
 6  data for the current user. If you use RAM based sessions, you can store 
 7  any kind of object into that dictionary; otherwise, you are limited to 
 8  objects that can be pickled. 
 9  """ 
10   
11  import cherrypy 
12   
13   
14 -class HitCounter:
15 16 _cp_config = {'tools.sessions.on': True} 17
18 - def index(self):
19 # Increase the silly hit counter 20 count = cherrypy.session.get('count', 0) + 1 21 22 # Store the new value in the session dictionary 23 cherrypy.session['count'] = count 24 25 # And display a silly hit count message! 26 return ''' 27 During your current session, you've viewed this 28 page %s times! Your life is a patio of fun! 29 ''' % count
30 index.exposed = True
31 32 33 import os.path 34 tutconf = os.path.join(os.path.dirname(__file__), 'tutorial.conf') 35 36 if __name__ == '__main__': 37 # CherryPy always starts with app.root when trying to map request URIs 38 # to objects, so we need to mount a request handler root. A request 39 # to '/' will be mapped to HelloWorld().index(). 40 cherrypy.quickstart(HitCounter(), config=tutconf) 41 else: 42 # This branch is for the test suite; you can ignore it. 43 cherrypy.tree.mount(HitCounter(), config=tutconf) 44