Python Web开发中常用的第三方库
TL;DR
经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid
开发Web该选用怎样的组合等问题?在这里我将介绍一些Python Web开发中常用的第三方库。基本适用于Django以外的Web框架(Pyramid, Flask, Tornado, Web.py, Bottle等).
ORM
SQLAlchemy
, 在ORM方面,首选SQLAlchemy,没有之一!
支持SQLite, PostgreSQL, MySQL, Oracle, MS-SQL, Firebird, Sybase等主流关系数据库系统
支持的Python环境有Python2、Python3,PyPy以及Jython。
主要的特性请移步 Key Features of SQLAlchemy
推荐和数据库迁移工具 Alemic
搭配使用
MongoEngine
, 如果你用MongoDB,推荐MongoEngine.
Template Engine
在模板引擎方便选择也是比较多, 有 Chameleon
、 Jinja2
、 Mako
等可供选择,用过 Chameleon
和 Jinja2
,性能都非常好.
Form Engine
Cache Engine & Session Store
Beaker
缓存和Session管理首选Beaker, 没有之一! 可以搭配文件、dbm、memcached、内存、数据库、NoSQL等作为存储后端. 如果你用Pyramid作为Web框架,那么可以直接使用 pyramid_beaker
.
Others
环境构建
任务队列
Celery
(芹菜)一个分布式异步任务队列, 很强大!
RQ
这是一个轻量级的任务队列,基于Redis, 可以尝试一下。
WebServer
脚本
导出报表数据
Tablib
,这个挺好用,支持导出Excel, JSON, YAML, HTML, TSV, CSV格式数据, 我创建了一个Pyramid插件可以集成到Pyramid项目中使用 pyramid_tablib
第三方身份验证
velruse
, 支持各大网站的身份验证, 国内部分我已经加入了 Weibo
、 Douban
、 Taobao
、 Renren
,并merge到主版本库中。欢迎使用!
Helper
To Be Continued...