只用来构建RESTful API?用Django还是Flask,哪个好?

Python是最受好评的编程语言之一。 它因为简洁的语法,高效的编程速度,成为了大众的青睐。 对于任何初学者来说,python永远都是他们的首选。 自1991年发布以来,Python已经开发了许多框架和类库,这些框架和类库不仅加速了应用程序的开发,而且还提高了科学计算的研发,并且同时增添了许多图形用户界面。

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

 

框架之间的差别

  • Django功能大而全,Flask只包含基本的配置 Django的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。Django有模板,表单,路由,认证,基本的数据库管理等等内建功能。与之相反,Flask只是一个内核,默认依赖于两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以扩展的形式进行嵌入使用。

  • Flask 比 Django 更灵活 用Flask来构建应用之前,选择组件的时候会给开发者带来更多的灵活性 ,可能有的应用场景不适合使用一个标准的ORM(Object-Relational Mapping 对象关联映射),或者需要与不同的工作流和模板系统交互。

  • Flask 在 Django 之后发布,现阶段有大量的插件和扩展满足不同需要 Django发布于2005年,Flask创始于2010年年中。

 

Django Rest框架

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

 

Flask Restful框架

Flask-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开发WSGI协议原理以及实现过程、或者你想灵活定制组件,完全DIY你的应用、想实现微服务,那么建议你选择Flask。

  • 如果你关注产品的最终交付、想快速开发一个大的应用系统(比如新闻类网站、商城、ERP等),那么建议你选择Django,你想得到的功能它都有,想不到的功能它也有。

  • 如果你只是做Restful api的开发,那就选择Flask

你可能感兴趣的:(只用来构建RESTful API?用Django还是Flask,哪个好?)