2015-08-28更新
不可否认django是一个功能齐全的、文档最完善的、最容易入门的python框架,但随着业务发展,发现并没有用到django最强大、最方便的后台管理功能。同时相比web.py、flask也确实“重”了一些,所以经过考虑决定将框架换为flask。如果说django是一个组装好的变形金刚,那么flask则是乐高积木,小巧而灵活,可以根据需要选择不同的功能扩展。下面列出了我使用过的一些插件,持续补充…

flask官网

https://dormousehole.readthedocs.org/en/latest/index.html
这个就不多解释了。

jinja2

http://docs.jinkan.org/docs/jinja2/index.html
flask默认模板引擎。

sqlalchemy

http://www.sqlalchemy.org/
如果喜欢用ORM操作数据的话,这个可以说是不错的选择,用来替代django自身提供的ORM系统。

flask-sqlalchemy

http://flask-sqlalchemy.pocoo.org/2.0/
这个是flask插件,对sqlalchemy进行了一些封装。

flask-login

https://flask-login.readthedocs.org/en/latest/
提供用户登录、登出等相关操作。

flask-wtf

https://flask-wtf.readthedocs.org/en/latest/
提供表单相关功能,基于wtform.

flask-bcrypt

https://flask-bcrypt.readthedocs.org/en/latest/
提供加密功能,将字符串加密。

flask-user

https://pythonhosted.org/Flask-User/

基本上来说,上面三个插件就可以构造出一个用户系统了,但还有一个完整的实现了相关用户功能的插件叫做flask-user,不过这个插件对于我的业务来说并不是特别适用,需要进行修改的地方过多,所以我就用上面的三个自己写了一个。

flask-cache

https://pythonhosted.org/Flask-Cache/
提供缓存的相关功能。

flask-migrate

https://flask-migrate.readthedocs.org/en/latest/

提供数据库迁移功能,比如改了个字段什么的不用重建数据库了。

flask-script

https://flask-script.readthedocs.org/en/latest/

这个十分好用,用来执行flask脚本的。什么意思呢?就是flask中有很多操作需要上下文环境的,有了这个东西就不用每次都启动flask环境了。结合flask-migrate进行数据库迁移、结合flask-cache进清空缓存都爽歪歪。

flask-restful

https://flask-restful.readthedocs.org/en/0.3.4/

看名也知道了,提供restfulapi接口的,类似django-rest-framework。

flask-less

https://flask-restless.readthedocs.org/en/latest/

也是提供restfulapi接口的,这两个提供接口的插件相比,上一个比较灵活,而这个比较简单快捷。

flask-httpauth

https://flask-httpauth.readthedocs.org/en/latest/

一个简单的HttpAuth插件。

flask-uploads

文件上传的插件,这里需要注意,使用pip安装的flask-uploads是 https://pythonhosted.org/Flask-Uploads/ 这个作者的,还有一个版本的https://github.com/FelixLoether/flask-uploads 这两个并不一样。

flask-cloudy

https://github.com/mardix/flask-cloudy

还是文件上传,支持上传到各种云环境或者本地,我没深入研究有兴趣的可以自己看。

flask-mail

https://pythonhosted.org/flask-mail/

发送邮件的,这里我使用时需要把官网的
from flaskext.mail import Mail
改成
from flask.ext.mail import Mail