cherrypy.lib.sessions的python cherrypy会话用法示例

时间:2013-09-12 21:12:59

标签: python session save cherrypy

我总是和cherrypy一起新手。 我的设置:Arch Linux,Python 3.3,tornado,cherrypy 3.2

尝试使用cherrypy.lib.sessions为Web应用程序实现会话处理(出于某种原因,在各种论坛中通常称为cherrypy.sessions,可能是另一个版本)

我正在寻找以下示例:

  • 实例化会话对象

  • 设置任意命名属性的值

  • 将会话写入会话文件

  • 从会话文件中读取会话信息

  • 访问修改后的属性

  • 的值

我的(相关)代码:

import cherrypy

class RequestHandlerSubmittedRequest(tornado.web.RequestHandler):
  def get(self):
    SetState(self)

def SetState(self):
  cherrypy.config.update({'tools.sessions.on': True})
  cherrypy.config.update({'tools.sessions.storage_type': 'file'})
  #directory does exist  
  cherrypy.config.update({'tools.sessions.storage_path': '/tmp/cherrypy_sessions'}) 
  cherrypy.config.update({'tools.sessions.timeout': 60})    
  cherrypy.config.update({'tools.sessions.name': 'hhh'})

到目前为止一切顺利。现在:

  obj_session = cherrypy.lib.sessions.FileSession

在这里,我得到了第一个障碍(或误解)。 返回的obj_session不包含任何类型的会话ID,只是一个空对象框架。另外:/ tmp / cherrypy_sessions中此时没有创建文件 - 不应该在那里吗?我希望它能够在会话ID之后创建并命名。

好的,对象中没有ID,让我们分配一个:

  session_id = obj_session.generate_id(self)

这会返回一个长的随机字符串,因为我应该猜测

现在我不知道如何继续分配和保存呼叫obj_session.save()obj_session.load(),其中输入的几种变体会"AttributeError: 'module' object has no attribute X",其中X可以是"load",其他几个关键字。将selfobj_session本身传递给方法无济于事,只需更改错误的措辞即可。一般来说,我必须走错路。

那么,上面这五个步骤有一个例子吗?我在任何地方都找不到。

感谢。

伊戈尔

0 个答案:

没有答案