详细分析了两种 Python Web框架: Flask 与 Django。从开发难易度、应用架构、性能、可扩展性以及适用范围等方面进行了详细说明。
Django 中级教程在 B 站上线,深入解析 Django 体系架构,实现从入门到精通的跨越。在线教程
前言
基于 Github 排名第二的程序设计语言 - Python,有许多可用的 Web 框架,Django 与 Flask 是两个独立的 Python 框架,为开发者解决许多复杂低层代码问题。通常来讲 Django 常应用于全栈应用开发,而 Flask 常于服务架构。
一、Flask 概述
Flask 由澳大利亚工程师 Armin Ronacher 创建,是一个轻量级的微服务框架,让开发者可以自由选择设计模式、数据库及工具。它的学习成本小,适用于构建可扩展的 Web应用。
Flask 使用下面两个协议来实现 Web 通讯以及网站的展示层:
- WSGI: 用于与 web 服务器的通讯。
- jinja2: 用于 Web 服务的展现层网站界面设计。
1. 适用场景
- 小规模、低复杂度的项目
- 集成机构学习或深度学习应用
- 无服务器的计算
- 无数据库或 NoSQL数据库服务
- 静态或 RESTful web 服务
2.Flask 案例
- Netflix 使用 Flask APIs 实现局部故障转移以及流星分配。
- Airbnb 在其 Airflow 项目中使用Flask,并基于 Flask-admin 库增加了管理界面。
- Uber 使用 Flask 来优化控制、实现动态价格和司机位置定位。
- Lyft 使用信号模块为 web 用户交互提供数据。
- Pinterest 是使用 Flask 构建大规模网站的开发之一,它在可扩展财富生态系统中使用 Flask 。
- Twilio 使用 Flask 在短时间内开发出公有和私有基于 REST 搞用的API。
二、Django 概述
Django 是由工作于Lawrence Journal-World 报社的