初识Flask
Flask作为web框架,它的作用就是为了开发Web应用程序
工作流程:
- 所有Flask程序都必须创建一个程序实例
- 当客户端想要浏览网页的时候,一般会通过浏览器发起HTTP请求
- Web服务器使用WSGI协议,把来自客户端的请求交给Flask实例
- Flask使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系),根据每个URL请求,找到具体的视图函数
- 在Flask程序中,路由一般是通过程序实例的装饰器实现,通过调用视图函数,获取到数据后,把数据传入HTML模板文件中,模板引擎渲染HTTP响应数据,然后由FLask返回响应数据给浏览器
- 用户看到展示效果
Flask框架的诞生:
Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。它主要面向需求简单的小应用。
Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login),都需要用第三方的扩展来实现。比如可以用Flask-extension加入ORM、窗体验证工具,文件上传、身份验证等。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:本地化日期和时间;
Flask官方文档: