前言
之前面试的时候我提到过自己有Flask、Django、Tornado框架的使用经验,于是面试官很自然就问到了这三大框架的区别、各自的特点这样的问题。回答了几次总觉得自己回答得不是太好,有些点没有回答到,亦或是逻辑有点混乱,于是想要归纳总结一下。
框架的特点
Flask
Flask诞生于2010年,是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架
Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展
可以用Flask-extension加入ORM、窗体验证工具,文件上传、身份验证等
没有默认使用的数据库,你可以选择MySQL,也可以用NoSQL
核心基于Werkzeug WSGI工具 和jinja2 模板引擎
Django
2005年,劳伦斯出版集团为开发新闻网站开发了Django,是基于python语言编写的开源web开发框架
Django基于自身框架结构形成了MVT设计,遵循MVC设计
Django是一个重量级框架功能齐全,提供一站式解决的思路,能让开发者不用在选择上花费大量时间
自带ORM和模板引擎,支持jinja等非官方模板引擎
最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台
成熟,稳定,开发效率高,相对于Flask,Django的整体封闭性比较好,适合做企业级网站的开发