Python Restful API 框架 Django VS Flask

Python是最受好评的编程语言之一。 它因为简洁的语法,高效的编程速度,成为了大众的青睐。 对于任何初学者来说,python永远都是他们的首选。 自1991年发布以来,Python已经开发了许多框架和类库,这些框架和类库不仅加速了应用程序的开发,而且还提高了科学计算的研发,并且同时增添了许多图形用户界面。
现在主流的框架有下面几个:
*Django,流行但是笨重,还麻烦,人生苦短,肯定不选
*web.py,轻量,但据说作者仙逝无人维护,好吧,先pass
*tornado,据说倡导自己造轮子,虽然是facebook开源的吧,但听到这个,就算了吧
*Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

那么在众多python web开发框架中,django和flask绝对是金字塔尖上的两颗明珠。对于Restful api的设计和开发,这两个谁更适合一些呢?

Django

Django是一个全能的Web框架,具有BSD许可证,可以作为开放源代码使用,使用它开发人员可以快速开发出一个Web应用程序。 它包括多个软件包,用于处理典型通用的Web开发任务,例如身份验证,内容管理,支架,模板,缓存等。django还提供了专门用于开发 REST的框架(DRF),它对于REST API开发和部署非常友好。

Django Rest框架

DRF是一个开源,成熟的Python和Django库,旨在帮助APP开发人员构建复杂的Web API。 DRF的模块化,灵活和可自定义的体系结构使开发REST API变得异常容易。 DRF是一个使用描述视图和API接口之间映射关系的序列化程序。通过划分模型,概括线路等表示形式(例如JSON或XML)来满足特定的API接口。

Django的优点:

开源框架,有丰富的文档支持
功能非常强大,提供各个模块解决常用问题
强大的路由系统,可以定制优雅的URL
提供集成好的简易后台管理

Django的缺点:

系统紧耦合,想用喜欢的第三方库来代替是比较困难的,使用补丁也不顺畅
自带的ORM不如SQLAlchemy强大。
模板功能比较弱,不能插入Python代码,要写复杂一点的逻辑需要另外用Python实现 Tag或Filter。

Flask

Flask是基于Werkzeug(WSGI工具包)和Jinja 2(模板引擎)的Python开发人员的微框架。 Flask易于设置且易于使用。与其他框架一样,它具有多种现成的功能,例如内置的开发服务器,调试器,单元测试支持,模板,安全cookie和RESTful请求分派。Flask RestfulFlask-RESTful是Flask的扩展,为构建REST API提供了额外的支持。Flask-Restful是与现有ORM库一起使用的轻量级框架。 Flask-RESTful推荐通过最少的配置达到最快的部署。Flask-RESTful具有足智多谋的路由系统,有了它,你可以做任何自定义跳转。Flask-RESTful提供了基于Flask可插拔的视图资源。可插拔视图提供了一种访问HTTP方法的简单方法。 RESTful请求解析器旨在提供对(flask.request)请求对象中包含的任何变量的统一而直接的访问。在大多数情况下,应用程序开发人员更喜欢控制渲染响应数据,并且Flask-RESTful提供了一种机制,您可以在其中使用ORM模型甚至自定义类作为渲染对象。关于此框架的另一个有趣的事实是,应用程序开发人员无需担心会暴露任何内部数据结构,因为它采用一种格式并过滤响应对象。因此,当我们查看代码时,很明显哪些数据将用于渲染以及如何格式化它们。

Flask框架的的优点

非常灵活,代码简洁,核心代码只依赖Werkzeug WSGI工具箱和Jinja2模板引擎
扩展时开发,可以非常方便和第三方库进行集成

Flask框架的缺点

对于新手的学习曲线较高
可选择的第三方库优劣不一,导致项目质量不稳定
需要开发人员有大量的经验才能开发出有质量保证的程序

总结

可以说python的开发者是非常幸福的,因为它们有两个非常好用的框架来进行web开发,然而如何选择却是一个难题,可能这就是幸福的烦恼吧。对于新手来说,推荐使用django来进行开发,因为你会有更丰富的文档帮助,你会轻松实现你想要的功能。对于性能要求较高的web,推荐使用flask,因为它灵活的配置和友好的扩展接口可以让你编写出更高效地程序。当然,仁者见仁智者见智,两者没有孰强孰弱,都是非常棒的框架,如果你有时间的话,两者都可以学习一下,也许你会从此爱上这两个框架。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容