测试平台系列(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




相关文章
|
25天前
|
Dubbo 应用服务中间件 API
使用 Apifox、Postman 测试 Dubbo 服务,Apache Dubbo OpenAPI 即将发布
Apache Dubbo 3.3.3(即将发布)实现了与 OpenAPI 的深度集成,通过与 OpenAPI 的深度集成,用户能够体验到从文档生成到接口调试、测试和优化的全流程自动化支持。不论是减少手动工作量、提升开发效率,还是支持多语言和多环境,Dubbo 3.3.3 都展现了其对开发者体验的极大关注。结合强大的 Mock 数据生成和自动化测试能力,这一版本为开发者提供了极具竞争力的服务治理解决方案。如果你正在寻找高效、易用的微服务框架,Dubbo 3.3.3 将是你不容错过的选择。
|
1月前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。
|
3月前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
148 2
|
3月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
137 4
|
3月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
92 3
|
3月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
220 1
|
3月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
109 0
|
4月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
101 2
|
5月前
|
JavaScript 前端开发 数据库
测试开发之路--Flask 之旅 (五):后台管理
本文介绍了如何使用 Flask-Admin 模块为应用添加后台管理功能,包括数据库表管理、自定义视图及服务器文件管理。通过实例展示了如何初始化 Flask-Admin,并实现对用户、角色等表的增删查改操作。此外,还介绍了如何定制视图及管理服务器上的配置文件。这一模块大大提升了应用的管理效率与灵活性。
104 5
测试开发之路--Flask 之旅 (五):后台管理
|
5月前
|
JavaScript 前端开发 数据库
测试开发之路--Flask 之旅 (四):登录与权限控制
本文介绍了如何使用 Flask-Security 和 Flask-Login 实现权限管理和用户登录功能。首先讲解了 Flask 的消息闪现功能,用于向模板传递信息。接着介绍了如何利用 Flask-Security 的 `roles_required` 和 `roles_accepted` 装饰器保护页面,并展示了如何通过 `current_user` 获取当前用户信息。最后提到了使用 Flask-Login 时应避免升级至 0.4.0 版本,以防出现兼容性问题。通过这些技术,搭建了一个基本的用户权限管理系统。
178 6
测试开发之路--Flask 之旅 (四):登录与权限控制

热门文章

最新文章