2010-03-14 17 views
1

Ok, j'ai lu les documents cherrypy depuis un certain temps et n'ont pas encore trouvé un exemple simple. Disons que j'ai un simple site mondial Bonjour, comment puis-je stocker des données? Disons que je veux stocker a = 1, et b = 2 à un dictionnaire en utilisant cherrypy. Les fichiers de configuration sont confus comme l'enfer. Quelqu'un a un exemple très simple de stocker des valeurs à partir d'un site simple dans cherrypy?comment utiliser Cherrpy intégré dans le stockage de données

Voici mon code qu'est-ce que je fais mal? J'ai fait un fichier tmp c:/tmp, où est le fichier de configuration, et ou ou puis-je le mettre? Ce code a fonctionné avant que j'essaye d'ajouter la config?

import cherrypy 
import os 

cherrypy.config.update({'tools.sessions.on': True, 
'tools.sessions.storage_type': "file", 
'tools.sessions.storage_path': "/tmp", 
'tools.sessions.timeout': 60}) 

class Application: 

    def hello(self,what='Hello', who='world'): 
     cherrypy.session['a'] = 1 
     return '%s, %s!' % (what, who) 

    hello.explose=True 
root = Application() 
cherrypy.quickstart(root) 
+1

Je pense que vous voulez dire "hello.exposed = True". Puisque vous n'avez jamais lu les données de session, comment savez-vous que cela ne fonctionne pas? – fumanchu

Répondre

1

Vous configurez cherrypy pour utiliser des sessions et les stocker dans un fichier, par ex. de cette façon:

cherrypy.config.update({'tools.sessions.on': True, 
    'tools.sessions.storage_type': "file", 
    'tools.sessions.storage_path': "/tmp/cherrypy_mysessions", 
    'tools.sessions.timeout': 60}) 

(ou même, dans le fichier de configuration bien sûr), puis cherrypy.session est le « par utilisateur » dict que vous voulez, et cherrypy.session['a'] = 1 et de même pour 'b' comment vous pouvez y stocker des données.

2

Modifier votre fichier de configuration:

[/] 
tools.sessions.on = True 
tools.sessions.storage_type = "file" # leave blank for in-memory 
tools.sessions.storage_path = "/home/site/sessions" 
tools.sessions.timeout = 60 

Données de réglage sur une session:

cherrypy.session['fieldname'] = 'fieldvalue' 

Obtenir des données:

cherrypy.session.get('fieldname') 

Source: http://www.cherrypy.org/wiki/CherryPySessions