📋 个人简介
- 💖 作者简介:大家好,我是阿牛。
- 💬格言:迄今所有人生都大写着失败,但不妨碍我继续向前!🔥
前言
好久不见,最近去搞我的个人网站了,没怎么好好地更博客,这是我的失职!纠结了一会,我决定开设这个flask专栏,每开一个专栏对我来说都是有压力的,包括后期可能打算开设django,java系列的一些等等以及我的woldpress建站教程以及如何美化等等,不管怎样,只要有人看我的博客,我的专栏一定会尽可能更新下去的(不收费的哦!),还有博主的蓝桥web系列也打算浅写一下。(第一届蓝桥web赛事,博主业余学习了一下前端,也是轻松AK了省一。)
Flask框架简介
Flask 诞生于2010年,是 Armin ronacher (人名)==用 Python 语言基于Werkzeug 工具箱编写的轻量级 Web 开发框架==。
Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展 Flask-Mail ,用户认证 Flask-Login ,数据库 Flask-SQLAlchemy ),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入 ORM 、窗体验证工具,文件上传、身份验证等。 Flask 没有默认使用的数据库,你可以选择 MysQL ,也可以用NoSQL 。
其 WSGl 工具箱采用 ==Werkzeug(路由模块),模板引擎则使用Jinja2==(就是你在Django中用的那个嵌入在html中的用起来很爽的模板,有点PHP的味道)。这两个也是 Flask 框架的核心。
学习flask框架的原因
我们首先来看一张图片
这张图片是python对python web方向的框架的使用人数的调查,从上图中我们可也可以看到受访者最常使用的就是Flask和Django了。因此学习一下这个轻量级的web框架用来快速搭建小项目还是很不错的,毕竟人家也是榜一。
框架对比
1)框架轻重
重量级的框架:为方便业务程序的开发,提供了丰富的工具、组件,如 Django 。
轻量级的框架:只提供 Web 框架的核心功能,自由、灵活、高度定制,如 Flask 、 Tornado 。
2)与 Django 对比
django 提供了:
django - admin 快速创建项目工程目录 \
manage . py 管理项目工程
orm 模型(数据库抽象层)
admin 后台管理站点
缓存机制
文件存储系统
用户认证系统
而这些,flask都么有,都需要扩展包括来提供。举个例子,我们用django的manage . py 管理项目工程的startproject和startapp命令创建工程和子应用后,会帮我们自动生成目录,也就是说你的视图,模型都是有特定的位置来写的,而flask就比较随意了,你想怎么搭就怎么搭。再或者操作数据库这块django已经帮你做好了,而原生flask就要借助第三方包pymysql,pyclient等等创建游标执行sql语句了,当然flask也有扩展包来搞orm这块帮你快速生成sql语句。
常用扩展包
扩展列表:
- Flask - SQLalchemy :操作数据库;
- Flask - script :插入脚本;
- Flask - migrate :管理迁移数据库;
- Flask - Session : Session 存储方式指定;
- Flask - WTF :表单;
- Flask - Mail :邮件;
- Flask - Bable :提供国际化和本地化支持,翻译;
- Flask - Login :认证用户状态;
- Flask - OpenlD :认证;
- Flask - RESTful :开发 REST API 的工具;
- Flask - Bootstrap :集成前端 Twiter Bootstrap 框架;
- Flask - Moment :本地化日期和时间;
- Flask - Admin :简单而可扩展的管理接口的框架.
结语
自由,灵活,高度定制 👉 Flask
快速实现业务,不考虑技术选型,越简单直接越好 👉 Django