Flask基本用法:一个HelloWorld,搭建服务、发起请求

目录

 1、简介

2、安装

3、Flask使用示例

参考


 1、简介

官网文档

Flask是一个轻量的web服务框架,我们可以利用它快速搭建一个服务,对外提供接口,其他人可以轻松调用我们的服务。这对算法工程师来说比较关键,我们通常不擅长搞开发,这种框架十分适合将算法封装成服务的形式提供给其他人使用。

更多介绍可从搜索引擎找到,这里不过多介绍。我们直接给出一个使用示例,相信大家看了后能快速掌握Flask的基本用法。

2、安装

安装十分简单,首先需要你有个python环境,这里不过多介绍;然后进入你的环境,使用pip安装即可:

pip install Flask

3、Flask使用示例

首先,编写一个server.py,作为服务:

from flask import Flask, requestapp = Flask("Demo")@app.route('/hello', methods=['POST', 'GET'])
def display():return {"message": "HelloFlask!", "status": 0}@app.route('/send_snapshot', methods=['POST'])
def process_snapshot():# get post datadata = request.get_json()print("got post data: {}".format(data))# process...result = {"status": 0,"message": "send success!",}return resultif __name__ == '__main__':app.run(port=2023, host='127.0.0.1', debug=True)

然后,编写一个client.py,作为客户端,调用上面的服务进行测试:

import requests
import jsondef demo_hello():url = "http://127.0.0.1:2023/hello"response = requests.post(url)if response.status_code == 200:response_data = json.loads(response.content)print("got response: {}".format(response_data))else:print("failed!")def demo_send():url = "http://127.0.0.1:2023/send_snapshot"data = {"start_timestamp": 1,"end_timestamp": 2,"img": None}response = requests.post(url, json=data)if response.status_code == 200:response_data = json.loads(response.content)print("send over, got response: {}".format(response_data))else:print("send failed!")if __name__ == '__main__':demo_hello()demo_send()

先启动server,再运行client,即可得到如下结果:

1. 运行server
python server.py
结果形如:* Serving Flask app 'Demo'* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.* Running on http://127.0.0.1:2023
Press CTRL+C to quit* Restarting with stat* Debugger is active!* Debugger PIN: 887-814-5152. 运行client.py
python client.py
结果形如:
got response: {'message': 'HelloFlask!', 'status': 0}
send over, got response: {'message': 'send success!', 'status': 0}

 

参考

官方文档:Welcome to Flask — Flask Documentation (3.0.x)

github:GitHub - pallets/flask: The Python micro framework for building web applications. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/227379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极坐标下的牛拉法潮流计算14节点MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 潮流计算: 潮流计算是根据给定的电网结构、参数和发电机、负荷等元件的运行条件,确定电力系统各部分稳态运行状态参数的计算。通常给定的运行条件有系统中各电源和负荷点的功率、枢纽…

JRT实现原生Webservice发布

之前准备试试Java发布Webservice,开始以为很简单,因为C#发布很简单。后面发现太费劲了,依赖一堆包,下面几种都试了一下: JAX-WS (Java API for XML Web Services):这是Java EE平台的标准,用于创…

nodejs微信小程序+python+PHP的微博网络舆情分析系统-计算机毕业设计推荐

(4)微博信息交流:在首页导航栏上我们会看到“微博信息交流”这一菜单,我们点击进入进去以后,会看到所有管理员在后台发布的交流信息; (5)新闻资讯:用户可以查看新闻资讯信…

【STM32入门】4.2对射红外传感器计次

1.接线方式 主要是编写传感器的驱动、配合OLED,每遮挡对射红外传感器,OLED屏幕的计数就加一。 2.驱动编写 首先新建.c文件和.h文件,命名为CountSensor 国际惯例,.c文件内要包含stm32.h头文件,然后编写 CountSensor_…

在Linux上安装配置Nginx高性能Web服务器

1 前言 Nginx是一个高性能的开源Web服务器,同时也可以作为反向代理服务器、负载均衡器、HTTP缓存以及作为一个邮件代理服务器。它以其出色的性能和灵活性而闻名,被广泛用于处理高流量的网站和应用程序。本文将介绍在Linux环境中安装Nginx的步骤&#xf…

new一个对象

1.自己直接调用 function Person(name, age) {this.name name;this.age age;}let a1 new Person("小明", 20);let a2 new Person("小菜", 25);console.log(a1); 打印的对象: 2.自己模拟一个 function Person(name, age) {this.name name;this.age a…

[Linux] LVS负载均衡群集——DR模式

一、 DR模式的特点 直接路由: 在LVS_DR模式下,负载均衡器不修改数据包的IP地址,只修改目的MAC地址。这使得数据包可以直接路由到后端实际服务器上,而不需要返回到负载均衡器。 高性能: 由于数据包在传输过程中不需要回…

本地运行大语言模型并可视化(Ollama+big-AGI方案)

目前有两种方案支持本地部署,两种方案都是基于llamacpp。其中 Ollama 目前只支持 Mac,LM Studio目前支持 Mac 和 Windows。 LM Studio:https://lmstudio.ai/ Ollama:https://ollama.ai/download 本文以 Ollama 为例 step1 首先下…

STM32_启动流程详解

目录标题 前言 启动流程概述复位中断函数详解SystemInit函数详解 __main函数详解 附录 stm32单片机的存储器映像中断向量表的映射 前言 最近在学习IAP远程OTA升级单片机固件程序,发现自己对单片机的启动流程还不是那么了解,就总结整理一下吧。 启动流程…

QT实现四则运算计算器

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setMaximumSize(240,300);this->setMinimumSize(240,300);this->setWindowTitle("计算器&…

node.js mongoose简述

目录 官方文档 mongoose Schema Model Query document 关系 官方文档 Mongoose v8.0.3: Getting Started mongoose Mongoose 是一个 Node.js 环境下 MongoDB 的对象建模工具。它提供了一种在应用程序中与 MongoDB 数据库进行交互的方式,使得开发者能够使用…

NoSQL 数据库有哪些典型应用?

前面的内容介绍了数据库读写分离和分库分表相关知识,都是针对关系型数据库的,即通常说的 RDBMS。除了关系型数据库,NoSQL 在项目开发中也有着越来越重要的作用,与此同时,NoSQL 相关的内容也是面试的常客。今天我们一起…

函数难题:排列

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 …

【Linux】驱动

驱动 驱动程序过程 系统调用 用户空间 内核空间 添加驱动和调用驱动 驱动程序是如何调用设备硬件 驱动 在计算机领域,驱动(Driver)是一种软件,它充当硬件设备与操作系统之间的桥梁,允许它们进行通信和协同工作。驱动程…

[已解决】uniapp内置插件,editor富文本报错(附quill.min.js、image-resize.min.js文件)

在使用uni-app运行内置插件editor时,无法输入内容,控制台报错 原因:查看官网得知,需动态引入quill.min.js、image-resize.min.js文件 解决方法: 1.下载quill.min.js、image-resize.min.js到项目static/eidtor文件中 链…

云原生之深入解析Kubernetes Operator的最佳实践和最常见的问题分析

一、Kubernetes Operator 简介 Kubernetes Operator 是通过连接主 API 并 watch 时间的一组进程,一般会 watch 有限的资源类型。当相关 watch 的 event 触发的时候,operator 做出响应并执行具体的动作。这可能仅限于与主 API 交互,但通常会涉…

Linux下FFmepg使用

1.命令行录一段wav,PCM数据 ffmpeg -f alsa -i hw:0,0 xxx.wav//录制 ffplay out.wav//播放ffmpeg -f alsa -i hw:0,0 -ar 16000 -channels 1 -f s16le 1.pcm ffplay -ar 16000 -channels 1 -f s16le 1.pcm -ar freq 设置音频采样率 -ac channels 设置通道 缺省为1 2.将pcm…

Kubernetes实战(十四)-k8s高可用集群扩容master节点

1 单master集群和多master节点集群方案 1.1 单Master集群 k8s 集群是由一组运行 k8s 的节点组成的,节点可以是物理机、虚拟机或者云服务器。k8s 集群中的节点分为两种角色:master 和 node。 master 节点:master 节点负责控制和管理整个集群…

PyTorch官网demo解读——第一个神经网络(1)

神经网络如此神奇,feel the magic 今天分享一下学习PyTorch官网demo的心得,原来实现一个神经网络可以如此简单/简洁/高效,同时也感慨PyTorch如此强大。 这个demo的目的是训练一个识别手写数字的模型! 先上源码: fr…

Composer 安装与使用

Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。 Composer 默认情况下不是全局安装&a…