搭建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打开

安装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服务的更多相关文章

  1. 测试平台系列(4) 使用Flask蓝图(blueprint)

    使用Flask蓝图(blueprint) 回顾 先来看一下上一篇的作业吧,使用「logbook」的时候,遇到了时区不对的情况.那么我们怎么去解决这个问题呢? 实际上logbook默认采用的是世界标准时 ...

  2. #能力开放平台系列-Fiddler访问Rest服务

    问题 最近开发能力开放平台,需要将Dubbo服务转换成Rest服务,虽然转换很成功(后续文档会写出如何将Dubbo服务转换成Rest接口),但是调试起来特别的麻烦. 解决方案: Fiddler解决方案 ...

  3. 测试平台系列(85) 把redis运用到实战中

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们让支持了前置条件 ...

  4. 测试平台系列(72) 了解ApScheduler基本用法

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们调研了一下市面上 ...

  5. 测试平台系列(71) Python定时任务方案

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 定时任务 定时任务,顾名思义: ...

  6. 测试平台系列(3) 给Hello World添加日志

    给Hello World添加日志 回顾 通过上篇内容,我们已经使用「Flask」完成了我们的第一个接口.我们可以看到,使用「Flask」来编写接口是十分简单的.那么接下来,我们丰富一下上面的例子. 需 ...

  7. 测试平台系列(79) 编写Redis配置功能(下)

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们提出了优化Dao ...

  8. 测试平台系列(80) 封装Redis客户端

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们编写了Redis ...

  9. 测试平台系列(81) 编写在线执行Redis功能

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们牛刀小试,编写了 ...

随机推荐

  1. zoj3623 Battle Ships

    Battle Ships is a new game which is similar to Star Craft. In this game, the enemy builds a defense ...

  2. python爬虫下载小视频和小说(基础)

    下载视频: 1 from bs4 import BeautifulSoup 2 import requests 3 import re 4 import urllib 5 6 7 def callba ...

  3. OpenStack Train版-12.创建虚拟网络并启动实例(控制节点)

    使用VMware虚拟机创建网络可能会有不可预测到的故障,可以通过dashboard界面,管理员创建admin用户的网络环境 1.第一种: 建立公共提供商网络在admin管理员用户下创建 source ...

  4. DOCKER - 构建一个docker镜像并跑起来

    一.有个基础镜像 1.基础镜像的选择 当前市场有众多可选择的基础docker镜像,可参考: https://blog.csdn.net/nklinsirui/article/details/80967 ...

  5. python 调用麦克风;摄像头;截屏;

    # -*- coding: utf-8 -*- """ Created on Mon Jun 24 14:47:35 2019 @author: erio "& ...

  6. Mysql(三)------事务的特性、事务并发、事务读一致性问题

    1 什么是数据库的事务? 1.1 事务的典型场景 在项目里面,什么地方会开启事务,或者配置了事务?无论是在方法上加注解,还 是配置切面 <tx:advice id="txAdvice& ...

  7. Python爬虫全网搜索并下载音乐

    现在写一篇博客总是喜欢先谈需求或者本内容的应用场景,是的,如果写出来的东西没有任何应用价值,确实也没有实际意义.今天的最早的需求是来自于如何免费[白嫖]下载全网优质音乐,我去b站上面搜索到了一个大牛做 ...

  8. Windows 10 Emoji shortcuts

    Windows 10 Emoji shortcuts Windows 10 Emoji 快捷方式 https://support.microsoft.com/en-us/windows/windows ...

  9. how to enable vue cli auto open the localhost url

    how to enable vue cli auto open the localhost URL bad you must click the link by manually, waste of ...

  10. bye MVA

    bye MVA https://mva.microsoft.com/