zoukankan      html  css  js  c++  java
  • Flask快速实现简单python接口

      Flask 是一个轻量级 web 框架,自由、灵活、可扩展性强。Flask 本身相当于一个内核,大部分功能都需要扩展第三方库。 Flask 框架有多“轻量”呢,之前写过一篇 Django实现restful api 的文章,基于 Django 框架实现的,有兴趣的同学可以做下比较。在实现简单的 api 方面, Flask 框架只需一个 .py 文件就能搞定,很简洁很优雅。

     

     1.安装 Flask

     pip3 install flask

    2.看下 Flask 项目目录,很简洁吧!本文不涉及 web 前端,只实现 API ,所以不讲解 static 和 templates 。

     3.一个简单、优雅的例子:

    from flask import Flask
    from flask import request
    import json
    
    app = Flask(__name__)
    
    
    @app.route('/',methods=['GET'])
    def hello_world():
        return 'Hello World!'
    
    # 设置访问URL:'/plus',methods:允许哪种方式访问
    @app.route('/plus',methods=['POST'])
    def plus():
        data = json.loads(request.data.decode())
        x = data['x']
        y = data['y']
    
        return json.dumps(x+y)
    
    
    if __name__ == '__main__':
        # 设置host,端口8080。threaded=True 代表开启多线程
        app.run(host='0.0.0.0', port=8080, threaded=True)

     Flask 通过 @app.route 装饰器来配置路由和请求方式,request.data 接收 post 请求参数,因为接收到的是字节流,需要 decode() 解码再转成 json 格式。Flask 可以设置 run() 参数开启 多线程(threaded=True) 和 多进程(processes=4),但如果要上生产环境,还是得用 Nginx 或 Apache 部署,提高性能。

     1)运行命令 python app.py ,然后浏览器输入:http://127.0.0.1:8080/

     2)测试脚本:

    import requests
    url = 'http://127.0.0.1:8080/plus'
    
    h = requests.post(url=url,json={"x":2,"y":3})
    print(h.text)

    输出:

    测试OK

  • 相关阅读:
    QML使用动画连续非线性改变int的取值
    QML粒子系统
    QML获取当前时间
    QML与C++混合编程
    QMLBinding
    QML图形渲染QtGraphicalEffects
    [九度][何海涛] 数组中只出现一次的数字
    [九度][何海涛] 扑克牌顺子
    [九度][何海涛] 最大子向量和
    [九度][何海涛] Move!Move!!Move!!!
  • 原文地址:https://www.cnblogs.com/shenh/p/12160470.html
Copyright © 2011-2022 走看看