42Team-Flask框架-Flask介绍

Flask介绍

什么是Web框架?

随着Web项目发展的越来越快,传统Web项目开发也就变得越来越复杂,需要花上大量的开发时间,所以为了简化传统Web开发流程,Web框架横空出世。你可以理解为Web框架把一些基础、经常需要的代码进行了第二次的封装,我们不再需要大量的重复代码去实现功能了。仅用Web框架提供给我们的方法去实现功能就好。或者说我们不用再关心底层是如何实现的,省下的时间来关注如何给用户返回一份满意的数据即可。每个Web框架都有一些核心的思想,例如Flask框架就是为了让Web框架更精简、更高效而与大家见面的。

Flask框架特点

小、精、能干。俗称小钢炮!

FLask原生并不支持数据库访问、Web表单验证和用户验证等高级功能,这些功能需要通过拓展的形式去实现,然后再进行集成。我们作为开发者,可以任意挑选符合项目需求的拓展,这样可以让我们按需使用各类模块到我们开发的系统中,更精简、高效。

Flask框架本身只包含路由分发,请求和响应的封装和插件系统,在加上作者自己的Werkzeug(处理WSGI)、jinja2(模板引擎)和Flask-SQLAlchemy扩展(Model层),这几个同一个作者的项目构成一个完整的MVC框架。

Flask是什么?不是什么?

下面引用一段官方文档中的话。

Flask 永远不会包含数据库层,也不会有表单库或是这个方面的其它东西。 Flask 本身只是 Werkezug 和 Jinja2 的之间的桥梁,前者实现一个合适的 WSGI 应用,后者处理模板。 当然, Flask 也绑定了一些通用的标准库包,比如 logging 。 除此之外其它所有一切都交给扩展来实现。

为什么呢?因为人们有不同的偏好和需求, Flask 不可能把所有的需求都囊括在核心里。大多数 web 应用会需要一个模板引擎。然而不是每个应用都需要一个 SQL 数据库的。

Flask 的理念是为所有应用建立一个良好的基础,其余的一切都取决于你自己或者扩展。

FLask框架应用场景

理论上所有的场景都可以覆盖得到,从上面的介绍你也知道了,Flask是一个轻量级的Web框架,那么面对的应用场景最好也是轻量级的。如果想使用Flask框架构建一个大型Web应用当然也是没有问题的,但到那时候你应该需要考虑一下要不要换成Django框架了,面对大型Web项目Python阵营中的Django或许更适合。

那么Flask应用场景最好是:轻量级的环境、前后端分离架构或者是仅作为一个API服务等等。

目前面向校内师生的项目,算是一个小型项目,所以我们学习使用Flask来开启Web的大门是个不错的选择。


返回目录