测试平台系列(1) 搭建Flask服务
搭建Flask服务
项目地址
代码都会在这里有所展示,喜欢的话可以帮点个star,谢谢大家了!如果你喜欢该教程,也可以分享给其他人。
关于选型
想了很久,本来打算用「Gin」做为后端服务,或者作为网关层,后面想了一下好像没这个必要。这个平台的用户量会比较有限,而且也会做一定的「服务拆分」。于是还是采用了更大众一点的口味: 「Flask」,有的同学可能会说,那怎么不用「Django」?
哈哈,问到点了,「Django」笔者是真不会,基本上没有接触过,从接触「Python Web开发」的时候,我就用的是「Flask」。好在「Flask」比较精简,django用户也能比较快的上手。
环境准备
笔者其实比较好奇,不知道大家是要看一个很完整的过程,还是一个大概的,所以可能比较随性哈,复杂的地方尽量完整,毕竟又写文章又写代码的话,还是比较费事的。前期可能讲的比较仔细,后期可能以代码为主。所以有的地方如果有疑问的话,可以在文章下面评论或者联系本人。
预备知识
熟悉pip的使用方法 熟悉Python语法 熟悉Pycharm用法
工具/软件准备
最简单的例子
笔者目前的目录在: J:\projects\github.com\wuranxu
以后的代码都会以这个目录为准,仅供参考。
创建项目并通过Pycharm打开

安装Flask包
在当前目录(pity)下打开终端并输入:
pip3 install flask
如果安装过程很缓慢,可以加上豆瓣源:
pip3 install flask -i https://pypi.douban.com/simple

由于笔者已经安装好了,所以没有详细的安装过程。
初始化app
建立pity/app/__init__.py


编辑__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/

如果看到这个hello world说明你成功了!
今天的课程就到这里了,下期见。说实话写的有点累,代码没写几行,屁话写了一大堆,后面可能要加快速度了!
全部代码地址: https://github.com/wuranxu/pity
「觉得有用的话可以帮忙点个Star哦QAQ」
测试平台系列(1) 搭建Flask服务的更多相关文章
- 测试平台系列(4) 使用Flask蓝图(blueprint)
使用Flask蓝图(blueprint) 回顾 先来看一下上一篇的作业吧,使用「logbook」的时候,遇到了时区不对的情况.那么我们怎么去解决这个问题呢? 实际上logbook默认采用的是世界标准时 ...
- #能力开放平台系列-Fiddler访问Rest服务
问题 最近开发能力开放平台,需要将Dubbo服务转换成Rest服务,虽然转换很成功(后续文档会写出如何将Dubbo服务转换成Rest接口),但是调试起来特别的麻烦. 解决方案: Fiddler解决方案 ...
- 测试平台系列(85) 把redis运用到实战中
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们让支持了前置条件 ...
- 测试平台系列(72) 了解ApScheduler基本用法
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们调研了一下市面上 ...
- 测试平台系列(71) Python定时任务方案
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 定时任务 定时任务,顾名思义: ...
- 测试平台系列(3) 给Hello World添加日志
给Hello World添加日志 回顾 通过上篇内容,我们已经使用「Flask」完成了我们的第一个接口.我们可以看到,使用「Flask」来编写接口是十分简单的.那么接下来,我们丰富一下上面的例子. 需 ...
- 测试平台系列(79) 编写Redis配置功能(下)
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们提出了优化Dao ...
- 测试平台系列(80) 封装Redis客户端
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们编写了Redis ...
- 测试平台系列(81) 编写在线执行Redis功能
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们牛刀小试,编写了 ...
随机推荐
- 洛谷 P4017 最大食物链计数 (拓扑排序,思维)
题意:有\(n\)个点,连\(m\)条边,求最多有多少条食物链(从头走到为有多少条路径). 题解:之前抽了点时间把拓扑排序补完了,这题其实就是一道拓扑排序的裸题.关于拓扑排序: 1.首先,我们用\ ...
- RSA 加密解密使用实例
http://www.dtmao.cc/news_show_692109.shtml 本文不讨论RSA加密解密本身,只记录使用方法及遇到的坑,RSA原理及注意事项可在网上查找. 背景:公司的一个需求, ...
- codeforces 9D(非原创)
D. How many trees? time limit per test 1 second memory limit per test 64 megabytes input standard in ...
- AbstractQueuedSynchronizer的使用和juc里的相关类的解析
对AQS进行解析后,先来实现两个简单的基于AQS的类,然后再解析juc里基于AQS构造的类. 1.基于AQS的类的示例 首先先看这个类,这个类是<Java并发编程实战>的一个示例,AQS源 ...
- ARMv7-A 架构下的MMU
ARM架构中MMU的作用主要就是将CPU发出的虚拟地址转换成为物理地址,从实现内核和用户程序和用户程序之间的虚拟地址空间隔离.MMU的主要组成为两部分,其一是内部的TLBs缓存:还有就是转换表装换单元 ...
- 解决springmvc使用@ResponseBody返回String类型字符串中文乱码问题
问题分析: 首先: 确定的是只有当返回值是 String时才会出现中文乱码,而当返回值是Map<String, Object>或者是其它类型时,并没有中文乱码的出现. 然后找原因: 原因是 ...
- IT-ebooks free download website & IT 电子书籍免费下载网站
free ebooks of programming 1. http://www.it-ebooks.info/ http://www.it-ebooks-api.info/ 2. http://ww ...
- 如何使用 js 实现相似图片搜索
如何使用 js 实现相似图片搜索 以图搜图 https://www.google.com/imghp?hl=en https://www.google.com/imghp?hl=zh https:// ...
- Recoil & React official state management
Recoil & React official state management Redux Recoil.js https://recoiljs.org/ A state managemen ...
- Beacon API
Beacon API User Tracking https://caniuse.com/#feat=beacon Question & Solution Beacon API 不会延缓网页卸 ...