目录

 1、简介

2、安装

3、Flask使用示例

参考

 1、简介

官网文档

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

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

2、安装

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

pip install Flask

3、Flask使用示例

3.1 server编写

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

from flask import Flask, request

app = 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 data

data = request.get_json()

print("got post data: {}".format(data))

# process

...

result = {

"status": 0,

"message": "send success!",

}

return result

if __name__ == '__main__':

app.run(port=2023, host='127.0.0.1', debug=True)

        在上述server中,我们通过@app.route()的方式指定路由以及所支持的方法。路由可以理解为子目录,整个服务有一个根目录,不同的功能可以放在对应的子目录中,体现在路由的URL上就是:“/”、“/A”、“/A/B/C”之类的样子;而方法则是指我们定义的这个函数是支持哪些访问方法,如“POST”、“GET”。

3.2 client编写

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

import requests

import json

def 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()

        其实使用起来很简单,跟调用其他web请求一个道理,都是通过 requests来解析URL,从而获取response,最后即可从response中获取想要的数据。

3.3 运行

        先启动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-515

2. 运行client.py

python client.py

结果形如:

got response: {'message': 'HelloFlask!', 'status': 0}

send over, got response: {'message': 'send success!', 'status': 0}

通过浏览器直接访问:        

        此外,从server可以看到,我们是定义了hello的路由的,且支持GET方法:

@app.route('/hello', methods=['POST', 'GET'])

def display():

return {"message": "HelloFlask!", "status": 0}

        所以我们是可以直接从浏览器打开地址http://127.0.0.1:2023/hello来获取对应的响应结果的,效果如下图:

参考

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

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

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: