PythonTip >> 博文 >> 常用模块与库

用 Tornado 重写的 Pypress

zihua 2013-10-10 16:10:23 点击: 895 | 收藏


flask是一个很不错的框架,写项目比较轻松,较多高质量的插件,帮助python新手能快速创建自己的项目。而且也有不少国外项目可以参考,比如newsmeme,原先的pypress就是学习的这个项目而创建的,非常受用。

pypress原也是自己的学习项目,没想到还有许多朋友来邮件表示在用,原想在flask上继续更新,但又学习上了tornado,于是直接使用tornado重写了。

说下tornado,是一个不错的server,但做框架,还是缺少太多东西,写了一段时间tornado,我已经开始怀念flask的高效了....

反正是学习,我将flask自己比较中意的插件,应用在了tornado上,并做了相应修改:

  1.  sqlalchemy.py 改动最大,比如分页类(Pagination),以及_SinalTrackingMapperExtension类_record输入处理等
  2. forms.py 对wtforms包装,只是简单的对tornado的request进行了处理  
  3. cache.py 这是从werkzeug源码里copy的类进行了修改
  4. signals.py 这是纯从flask里拿来的,只是对blinker的导入进行了简单处理而已
  5. routing.py 这是为tornado的反向路由写的一个比较简单的类,解决了tornado只在handler里使用reverse_url的问题
  6. permission.py 这个也是纯从flask里拿来的,只是做了一点点小改动,让它能在tornado里使用

当然,还有一些小功能,比如类似flask的flash message,debug下友好显示错误,以及flask一样获取request.argument方法等(在views/base.py里)

pypress目前功能少于原先flask版,只是加入了一个评论验证码,更多时间花在了对tornado的完善上,希望能让tornado写起来跟flask一样高效

项目地址: https://github.com/laoqiu/pypress-tornado

原文链接:http://pythoner.org/wiki/253/

作者:zihua | 分类: 常用模块与库 | 标签: 常用模块与库 | 阅读: 895 | 发布于: 2013-10-10 16时 |