Python三大框架:Flask框架、Tornado框架、Django框架简介

Flask框架

Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。

比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。

Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

Flask常用扩展包:

Flask-SQLalchemy:操作数据库;

Flask-script:插入脚本;

Flask-migrate:管理迁移数据库;

Flask-Session:Session存储方式指定;

Flask-WTF:表单;

Flask-Mail:邮件;

Flask-Bable:提供国际化和本地化支持,翻译;

Flask-Login:认证用户状态;

Flask-OpenID:认证;

Flask-RESTful:开发REST API的工具;

Flask-Bootstrap:集成前端Twitter Bootstrap框架;

Flask-Moment:本地化日期和时间;

Flask-Admin:简单而可扩展的管理接口。

Tornado框架

我们在创建tornado.web.Application的对象时,传⼊了第⼀ 个参数——路由映射列表。

实际上Application类的构造函数还接收很多关于 tornado web应⽤的配置参数,在后⾯的学习中我们⽤到的地⽅会为⼤家介绍。

我们先来学习⼀个参数: debug,设置tornado是否⼯作在调试模式,默认为False即⼯作在⽣产模式。

当设置debug=True 后,tornado会⼯作在调试/开发模式,在此种模式下,tornado为⽅便我们开发⽽提供了⼏种特性:

1.⾃动重启,tornado应⽤会监控我们的源代码⽂件,当有改动保存后便会;

2.重启程序,这可以减少我们⼿动重启程序的次数。需要注意的是,⼀旦我们保存的更改有错误,⾃动重启会导致程序报错⽽退出,从⽽需要我们保存修正错误后⼿动启动程序。这⼀特性也可单独通过 autoreload=True设置;

3.取消缓存编译的模板,可以单独通过compiled_template_cache=False来设置;

4.取消缓存静态⽂件hash值,可以单独通过static_hash_cache=False来设 置;

5.提供追踪信息,当RequestHandler或者其⼦类抛出⼀个异常⽽未被捕获后,会⽣成⼀个包含追踪信息的⻚⾯,可以单独通过 serve_traceback=True来设置。

Django框架

Django框架是一个重量级框架,相比上边那两个框架都要重要的很多。

Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。

劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。

这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。

对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。


评论

目前评论:0   

点击加载更多评