如何使用cherrypy内置数据存储

时间:2010-03-14 23:26:38

标签: python cherrypy

好的,我已经阅读了一些时间的樱桃文件,还没有找到一个简单的例子。假设我有一个简单的hello world网站,我该如何存储数据?假设我想使用cherrypy将a = 1和b = 2存储到字典中。配置文件很混乱。任何人都有一个非常简单的例子,可以在一个简单的站点中存储值,这些内容是什么?

这是我的代码我做错了什么?我做了一个tmp文件c:/ tmp,配置文件在哪里,或者我把它放在哪里?在我尝试添加配置之前,此代码有效吗?

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)

2 个答案:

答案 0 :(得分:2)

编辑配置文件:

[/]
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

在会话中设置数据:

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

获取数据:

cherrypy.session.get('fieldname')

来源:http://www.cherrypy.org/wiki/CherryPySessions

答案 1 :(得分:1)

您可以将cherrypy配置为使用会话并将其存储到文件中,例如这样:

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

(或者在配置文件中当然如此),然后cherrypy.session是您想要的“每用户”词典,而cherrypy.session['a'] = 1'b'类似的是您可以存储的方式数据。