哈喽,大家好,小王又来献丑了,本期聊聊我对flask框架浅显的理解,为后续flask合集做个铺垫。
上期内容聊到测试工程师要了解一种开发框架,本期就针对这个话题,说说python的web框架-flask。
说flask之前,就先聊聊flask的开发模式---MTV开发模式:
M:model。数据模型层。直接指向数据库,对数据库进行相对应的增删改查,并将查询的结果传给view层。
T:template。模板层。主要用于与用户交互,发送数据给view层,美化处理view层返回的数据并进行展示。也就是我们所了解的前端页面。
V:view。视图函数层。用于渲染模板层,以及接收模板层的数据。并将数据通过逻辑处理,传给model层。再将model返回的结果,渲染到template层。
flask框架较django来说,更轻量化。更适合用来开发一些测试脚本,测试工具。这两个框架就好比炒菜(不装了,我摊牌了!我是个大厨),django是将所有的配菜买好,配好。只需要开发者下锅就行。而flask则需要从买菜、洗菜开始一点点准备。
用户使用浏览器发起请求时,浏览器将请求信息通过WSGI发送给flask的view层。view接到这个请求后,先进行模板渲染。给用户返回一个渲染后的前端页面(template层)。
此时template层就等待用户输入数据。在用户完成数据输入后,将这些数据再次通过请求的形式,传给view层(以上这两步都会需要到路由定位。这个概念后续细说。)
view层接到数据以后,会将这些数据进行处理,并根据实际业务需求,将这些数据入库或者进行计算再次返回给template层进行数据展示。
至此,大致的数据交互就走完了。附上一张图更能清晰表明这个流程。
开篇内容提到,用flask可以简单的写写测试工具,帮助我们在日常工作中,提升一些工作效率。
下图是我最近编写的一个脚本。主要实现功能生成一些测试数据,二是对数据库、redis进行修改、清空等操作。提升我们在测试过程中,数据准备的效率。
上期内容中我们也聊到如何提升自身价值,在我看来,能将所学东西投入到实际工作中,也提升自己工作效率。这也是最能体现价值的地方。也可以通过这么一套工具。了解开发模式,对于我们日常工作查找bug,定位bug也有一定的帮助。
在枯燥乏味的点点点中,写写代码,开发开发工具,也是给自己添加乐趣的一种方式。
本期到这就结束了,下期会展开flask框架做些详细的内容分享。将这套工具的构思、编写、部署、落地、踩坑的每一个步骤都会做详细分享。
各位大佬,我们下期见。拜拜~