数据可视化-Flask学习笔记1

Flask框架比较轻便容易上手,适合入门学习,可以用来完成数据可视化项目

关于Flask框架

Flask是一个使用Python编写的轻量级 Web 应用框架,其WSGI工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。它主要面向需求简单的小应用

可以说Flask框架的核心就是Werkzeug(请求路由转发)和Jinja2(模板渲染)

Flask其他几乎所有的功能(数据库访问、验证Web表单和用户身份认证等),Flask框架是不支持的。但是可以用别人写好的扩展来实现

image-20210513221308588

基本模式

Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上,其工作过程见图。

image-20210514124735851

Web应用程序

Flask作为Web框架,它的作用主要是为了开发Web应用程序。那么首先来了解下Web应用程

序。Web应用程序 (World Wide Web)诞生最初的目的,是为了利用互联网交流工作文档。

image-20210513220703372

一切从客户端发起请求开始。

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

当客户端想要获取资源时,一般会通过浏览器发起HTTP请求。

此时,Web服务器使用一种名为WEB服务器网关接口的WSGI(Web Server Gateway Interface)

协议,把来自客户端的请求都交给Flask程序实例。

Flask使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系)。根据每个URL请求,

找到具体的视图函数。

在Flask程序中,路由一般是通过程序实例的装饰器实现。通过调用视图函数,获取到数据后,把

数据传入HTML模板文件中,模板引擎负责渲染HTTP响应数据,然后由Flask返回响应数据给浏览

器,最后浏览器显示返回的结果。

Flask程序运行过程

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

Flask调用视图函数后,会将视图函数的返回值作为响应的内容,返回给客户端。一般情况下,响应

内容主要是字符串和状态码。

当客户端想要获取资源时,一般会通过浏览器发起HTTP请求。此时,Web服务器使用WSGI(Web

Server Gateway Interface)协议,把来自客户端的所有请求都交给Flask程序实例。WSGI是为 Python

语言定义的Web服务器和Web应用程序之间的一种简单而通用的接口,它封装了接受HTTP请求、解析

HTTP请求、发送HTTP,响应等等的这些底层的代码和操作,使开发者可以高效的编写Web应用。

程序实例使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系)。根据每个URL请

求,找到具体的视图函数。 在Flask程序中,路由的实现一般是通过程序实例的route装饰器实现。

route装饰器内部会调用add_url_route()方法实现路由注册。调用视图函数,获取响应数据后,把数据传入HTML模板文件中,模板引擎负责渲染响应数据,然后

由Flask返回响应数据给浏览器,最后浏览器处理返回的结果显示给客户端。

为什么要用Web框架

web网站发展至今,特别是服务器端,涉及到的知识、内容,非常广泛。这对程序员的要求会越来越

高。如果采用成熟,稳健的框架,那么一些基础的工作,比如,网络操作、数据库访问、会话管理等都

可以让框架来处理,那么程序开发人员可以把精力放在具体的业务逻辑上面。使用Web框架开发Web应

用程序可以降低开发难度,提高开发效率。

总结一句话:避免重复造轮子。

创建Flask项目

Pycharm里点击File下的New Project

image-20210513223115248

选择Flask然后Create即可

image-20210513223210826

项目目录如下图,其中static文件夹存放css、js文件用来提供网页的素材,templates里存放html网页文件

image-20210513223245858

Hello World

1
2
3
4
5
6
7
8
9
10
11
12
13
# -*- coding:utf-8 -*-
from flask import Flask #导入Flask类

app = Flask(__name__) #初始化了一个对象,导入了flask框架


@app.route('/') #路由解析,通过用户访问的路径匹配相应的函数
def hello_world():
return 'Hello World!'


if __name__ == '__main__':
app.run() #Flask应用程序实例的run方法启动WEB服务器

flask默认监听5000端口,所以开启服务器后访问http://127.0.0.1:5000即可

开启调试模式

Debug模式的开启,可以更好的定位错误,还可以即时刷新修改的页面,不用重启服务器

1
app.run(debug=True) #Pycharm中不起作用

编辑配置里

image-20210513230141595

勾选flask_debug然后apply应用就可以开启调试模式了

image-20210513230201618

参考

https://baike.baidu.com/item/flask

https://www.bilibili.com/video/BV12E411A7ZQ?p=29

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2020-2021 Blog of Tianze

请我喝杯咖啡吧~

支付宝
微信