Tornado的会话扩展,支持内存、文件、redis或memcached来保存会话数据。
torndsession的Python项目详细描述
Torndsession会话
Torndsession是Tornadoweb框架的会话扩展。 Torndsession支持应用程序内存、文件、redis或memcached来保存会话数据以供请求,而且对开发人员来说很容易扩展
你好,会话
下面是一个简单的Tornado和Torndsession的“你好,会话”示例Web应用程序。
import tornado.web import tornado.httpserver import tornado.ioloop import torndsession class Application(tornado.web.Application): def __init__(self): handlers = [ (r"/", MainHandler), ] settings = dict( debug=True, ) # sid_name, lifetime added in 1.1.5.0 # sid_name: the name of session id in cookies. # lifetime: session default expires seconds. session_settings = dict( driver='memory', driver_settings={'host': self}, force_persistence=True, sid_name='torndsessionID', session_lifetime=1800 ), settings.update(session=session_settings) tornado.web.Application.__init__(self, handlers, **settings) class MainHandler(torndsession.sessionhandler.SessionBaseHandler): def get(self): self.write("Hello, Session.<br/>") if 'data' in self.session: data = self.session['data'] else: data = 0 self.write('data=%s' % data) self.session["data"] = data + 1 def main(): http_server = tornado.httpserver.HTTPServer(Application()) http_server.listen(8000) tornado.ioloop.IOLoop.instance().start() if __name__ == "__main__": main()
在本例中,请求处理程序获取内存会话功能,它只是从sessionbasehandler继承。更多会话示例请参见torndsession demos
安装
自动安装:
pip install torndsession
torndsession列在PyPI中,可以使用pip或easy\u install安装。请注意,此安装无法安装源代码中包含的演示应用程序
另一种方法是使用github安装torndsession
pip install git+https://github.com/mitchellchu/torndsession
手动安装:
这样,您需要从PyPI下载源代码
tar xvzf torndsession.tar.gz cd torndsession python setup.py build sudo python setup.py install
torndsession源代码托管在GitHub上。
已更新
第1.1.5节:
- 修正了1.1.4中的错误
- 默认会话id值生成器已更改见#ISSUE 12#。
- 在设置中添加了两个自定义键。
- sid_name:会话的cookie名称
- 会话生存期:会话的默认过期秒数。
Torndsession第1.1.4节:
- 修正了错误
TornDSession 1.1.3修复了一些错误并支持Python3.x。
许可证
Torndsession是麻省理工学院授权的。