测试平台系列(1) 搭建Flask服务

简介: 搭建Flask服务技巧

搭建Flask服务


项目地址

点我进入项目地址


代码都会在这里有所展示,喜欢的话可以帮点个star,谢谢大家了!如果你喜欢该教程,也可以分享给其他人。

关于选型


想了很久,本来打算用Gin做为后端服务,或者作为网关层,后面想了一下好像没这个必要。这个平台的用户量会比较有限,而且也会做一定的服务拆分。于是还是采用了更大众一点的口味: Flask,有的同学可能会说,那怎么不用Django


哈哈,问到点了,Django笔者是真不会,基本上没有接触过,从接触Python Web开发的时候,我就用的是Flask。好在Flask比较精简,django用户也能比较快的上手。

环境准备


笔者其实比较好奇,不知道大家是要看一个很完整的过程,还是一个大概的,所以可能比较随性哈,复杂的地方尽量完整,毕竟又写文章又写代码的话,还是比较费事的。前期可能讲的比较仔细,后期可能以代码为主。所以有的地方如果有疑问的话,可以在文章下面评论或者联系本人。

预备知识

  1. 熟悉pip的使用方法
  2. 熟悉Python语法
  3. 熟悉Pycharm用法

工具/软件准备

  • IDE: Pycharm
  • Python3.4以上
    最好是3.4以上,笔者这里比较随意,用的是3.7版本,没有太大的区别。

最简单的例子


笔者目前的目录在: J:\projects\github.com\wuranxu

以后的代码都会以这个目录为准,仅供参考。

创建项目并通过Pycharm打开

0.jpg

image

安装Flask包

在当前目录(pity)下打开终端并输入:


pip3 install flask

如果安装过程很缓慢,可以加上豆瓣源:


pip3 install flask -i https://pypi.douban.com/simple

1.jpg

image

由于笔者已经安装好了,所以没有详细的安装过程。

初始化app

建立pity/app/__init__.py

2.jpg

image

3.jpg

image

编辑__init__.py


from flask import Flask
pity = Flask(__name__)

代码讲解: 这是flask的约定用法, 引入Flask类并实例化了一个Flask对象, 其中name为通俗写法。


至此,我们就得到了这样的一个名为"pity"的Flask实例

编写Web服务文件

编写pity/run.py


from app import pity
@pity.route('/')
def hello_world():
    return 'Hello World!'
if __name__ == "__main__":
    pity.run("0.0.0.0", threaded=True, port="7777")

其中@pity.route("/")是一个装饰器, 代表hello_world这个函数与路由/进行绑定,也就是说当访问到/路由的时候,函数hello_world会自动执行。

pity.run("0.0.0.0", threaded=True, port="7777")

这句话表示启动web服务, 第一个参数0.0.0.0表示接受任何ip的访问,threaded表示如果有多人同时访问一个接口时是非阻塞的,port代表服务挂载的端口,这里我们以clearlove为端口号: 7777。

尝试一下吧!


运行run.py,可在pycharm运行也可以在终端里输入python3 run.py运行。

可以看到Running on http://0.0.0.0:7777, 说明服务启动成功了!

验证一下

咱们都知道HTTP是有很多种方法的,咱们这种pity.route如果没有指定方法的话,默认就是GET方法。

打开浏览器输入: http://localhost:7777/

4.jpg

image.png


如果看到这个hello world说明你成功了!


今天的课程就到这里了,下期见。说实话写的有点累,代码没写几行,屁话写了一大堆,后面可能要加快速度了!


全部代码地址: https://github.com/wuranxu/pity




相关文章
|
3月前
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
118 1
|
5天前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
11天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
43 3
|
15天前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
65 1
|
1月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
50 2
|
15天前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
40 0
|
2月前
|
JavaScript 前端开发 数据库
测试开发之路--Flask 之旅 (四):登录与权限控制
本文介绍了如何使用 Flask-Security 和 Flask-Login 实现权限管理和用户登录功能。首先讲解了 Flask 的消息闪现功能,用于向模板传递信息。接着介绍了如何利用 Flask-Security 的 `roles_required` 和 `roles_accepted` 装饰器保护页面,并展示了如何通过 `current_user` 获取当前用户信息。最后提到了使用 Flask-Login 时应避免升级至 0.4.0 版本,以防出现兼容性问题。通过这些技术,搭建了一个基本的用户权限管理系统。
104 6
测试开发之路--Flask 之旅 (四):登录与权限控制
|
2月前
|
JavaScript 前端开发 数据库
测试开发之路--Flask 之旅 (五):后台管理
本文介绍了如何使用 Flask-Admin 模块为应用添加后台管理功能,包括数据库表管理、自定义视图及服务器文件管理。通过实例展示了如何初始化 Flask-Admin,并实现对用户、角色等表的增删查改操作。此外,还介绍了如何定制视图及管理服务器上的配置文件。这一模块大大提升了应用的管理效率与灵活性。
54 5
测试开发之路--Flask 之旅 (五):后台管理
|
2月前
|
JavaScript 前端开发 数据库
测试开发之路--Flask 之旅 (三):数据库
本文介绍了在 Flask 应用中实现权限管理的过程,包括使用 Flask-SQLAlchemy、Flask-MySQLdb、Flask-Security 和 Flask-Login 等扩展模块进行数据库配置与用户权限设置。首先创建数据库并定义用户、环境和角色模型,接着通过 Flask-Security 初始化用户和角色,并展示了如何便捷地管理权限。后续将深入探讨权限控制的具体应用。
73 4
测试开发之路--Flask 之旅 (三):数据库
|
3月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
118 1
下一篇
无影云桌面