欢迎来到 wabc.cc 官方网站!

简单了解python学习中常用框架flask

来源:推荐文章 / 时间:2025-12-21

  认识Flask

  Flask框架的诞生:

  Flask诞生于2010年, Armin Ronacher的一个愚人节玩笑。不过现在已经是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。

QQ截图20190116180030.png

   Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要用第三方的扩展来实现。用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。你可以选择MySQL,也可以用NoSQL。其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2 。

  Python最出名的框架要数Django,此外还有Flask、Tornado等框架。虽然Flask不是最出名的框架,但是Flask应该算是最灵活的框架之一,这也是Flask受到广大开发者喜爱的原因。

  Flask扩展包:

  Flask-SQLalchemy:操作数据库;

  Flask-migrate:管理迁移数据库;

  Flask-Mail:邮件;

  Flask-WTF:表单;

  Flask-script:插入脚本;

  Flask-Login:认证用户状态;

  Flask-RESTful:开发REST API的工具;

  Flask-Bootstrap:集成前端Twitter Bootstrap框架;

  Flask-Moment:本地化日期和时间;

  中文文档(http://docs.jinkan.org/docs/flask/)

  英文文档(http://flask.pocoo.org/docs/0.11/)

  通过对比来了解Flask:

  Django:

  Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理。但是缺点也很明显,它偏重。就像是一个装潢好的房子,它提供好了你要用的东西,直接拿来用就可以。

  QQ截图20190116180055.png

  Flask:

  Flask相对于Django而言是轻量级的Web框架。和Django不同,Flask轻巧、简洁,通过定制第三方扩展来实现具体功能。

  可定制性,通过扩展增加其功能,这是Flask最重要的特点。Flask的两个主要核心应用是Werkzeug和模板引擎Jinja。

QQ截图20190116180103.png

  用pip安装flask,我们现在就用hello world

  Flask程序运行过程:

  所有Flask程序必须有一个程序实例。

  Flask调用视图函数后,会将视图函数的返回值作为响应的内容,返回给客户端。一般情况下,响应内容主要是字符串和状态码。

  用户向浏览器发送http请求,web服务器把客户端所有请求交给Flask程序实例,程序用Werkzeug来做路由分发,每个url请求,找到具体的视图函数。路由的实现是通过route装饰器实现的,调用视图函数,获取数据后,把数据传入模块中,模块引擎渲染响应的数据,由Flask返回给浏览器。

QQ截图20190116180116.png

  模板的基本语法:

QQ截图20190116180131.png

  通过修改一下前面的示例,来学习下模板的简单使用:

QQ截图20190116180142.png

  Flask数据库:

  Web应用中普遍使用的是关系模型的数据库,关系型数据库把所有的数据都存储在表中,表用来给应用的实体建模,表的列数是固定的,行数是可变的。它使用结构化的查询语言。关系型数据库的列定义了表中表示的实体的数据属性。比如:商品表里有name、price、number等。

  Flask本身不限定数据库的选择,你可以选择SQL或NOSQL的任何一种。也可以选择更方便的SQLALchemy,类似于Django的ORM。SQLALchemy实际上是对数据库的抽象,让开发者不用直接和数据库打交道,而是通过Python对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升。

  SQLALchemy是一个关系型数据库框架,它提供了高层的ORM和底层的原生数据库的操作。flask-sqlalchemy是一个简化了SQLALchemy操作的flask扩展。


相关产品

在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部