• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python+flask编写接口实例详解

python 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

环境:Pycharm ;其他环境:安装Anaconda

最近在做一个小型项目练手,涉及到大量的IP和相关数据处理,所以选用了Python来处理数据,但是处理完怎么给前端调用呢,今天这篇就是在Python方便地处理完数据后以接口形式把数据返回给前端。

flask就是使用Python编写接口实例的关键库,先配置项目:

①(这一步可以使用Python默认解释器,但是后续安装库可能还需要配置,建议使用Anaconda)首先打开PyCharm,在file->settings->Project->project interpreter改为使用Anaconda的python.exe,这里的python.exe在安装Anaconda文件夹下。

②如果根据上面配置了Anaconda的解释器,那么此时flask默认已经包含在了项目库中,如果需要安装,可以先参考Windows下pip和换源

然后在项目中右键open interminal便可以使用pip安装需要的库了,如下

postman

postman是最常用的接口测试工具,可以下载客户端也可以使用网页版,自行下载哦

json数据格式

首先我们知道,一般前端请求数据的格式都为json格式,通俗来看就是键值对形式,如下:

{
	"id":"001",
	"name":"kong"
}

前端只需要拿到键(如id),就能拿到键所对应的值(001),这样就可以拿到数据,那怎么把数据处理成json形式就属于编写接口要做的事了。
我们只知道python梳理数据方便,但是怎么把数据处理成上面的json形式呢,
先看完整测试代码:

from flask import Flask, jsonify
from flask_cors import CORS

# 跨域
app = Flask(__name__)
cors = CORS(app, supports_credentials=True)


@app.route("/", methods=["GET"])
def hello():
    return "Hello World"


@app.route("/one", methods=["GET"])
def test():
    id_1 = "001"
    id_2 = "002"
    name_1 = "kong"
    name_2 = "chen"
    data = {"id1":id_1, "id2":id_2, "name1":name_1,"name2":name_2}
    return jsonify(data)


if __name__ == '__main__':
    app.run(host='0.0.0.0', threaded=True)

这段代码中,前两行是导入需要用到的库,如果报红,那就是没有安装,使用pip安装即可,跨域下两行这样写上是为了防止前端报出跨域问题错误(我也不太清楚,前端一点不会,实际项目中用到的)。

下面就开始接口的编写:

@app.route()是设置路由地址,一般操作系统会给其分配一个端口,前端调用时就会寻址到这个端口,从其中某一个接口取出所需要的数据,括号里是请求方式,一般是POST和GET这两种,这里就是用最简单的GET形式。

第一个接口就是直接在端口首页返回一个”Hello World”,我们重点说的是第二个,我们看到定义了四个字符串,并最终合成了一个data字典(Python字典也是键值对形式),我这里故意在名字上面做了一些差异,其中id_1就是接口处理的变量,也就是说它存储的是要返回给前端的值,但是前端要拿到这个值,是通过””中的id本文来源gao@daima#com搞(%代@#码@网&1实现的,也就是说前端请求这个键的值,就可以拿到对应的id_1的值。

最后两行是程序的主函数,最后一行代表启动这个接口文件,一般在本机测试时使用host = 127.0.0.1或默认app.run()即可,threaded = True表示可以并行访问接口。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python+flask编写接口实例详解
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址