python+flask编写接口实例详解

环境: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就是接口处理的变量,也就是说它存储的是要返回给前端的值,但是前端要拿到这个值,是通过""中的id1实现的,也就是说前端请求这个键的值,就可以拿到对应的id_1的值。

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

我们右键运行这个py文件,会看到这样

此时按住CTRL点这个地址既可以打开浏览器,可以看到一个不经调用直接返回的页面,显示Hello World,我们主要测试下面一个接口:打开postman,将这个地址赋值进去,并根据接口route中的路径添加,如下:

此时的数据形式就是json形式的,可以供前端直接调用的了,因为我也是摸索着自学,没有进行系统的学习,所以只能这样说明,但实际使用中还是挺简单的,主要得益于python强大的数据处理能力,继续加油。

到此这篇关于python+flask编写接口实例详解的文章就介绍到这了,更多相关python lask编写接口内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python3使用flask编写注册post接口的方法

    使用python3的Flask库写了一个接口,封装了很多东西,仅供参考即可! 代码如下: #!/usr/bin/python3 # -*- coding: utf-8 -*- import re from flask import request from flask_restful import Resource import aes_utils import mysql_utils import sqls_user class Register(Resource): """

  • python+flask编写一个简单的登录接口

    在学习接口测试的时候往往会因为没有实际操作的接口进行测试而烦恼,这里教大家自己编写两个接口用于学习接口测试 1.编写一个登录的接口 2.在pycharm运行 3.使用apipost进行登录接口测试 输入url和参数值进行访问,访问成功. 4.在pycharm查看是否正常进行访问 5.在编写一个需要登录返回的token直接访问的查询接口 6.运行登录和查询两个接口 7.使用apipost进行登录和查询的接口测试 首先进行登录的接口测试获取返回的token 使用登录返回的token值进行查询的接口测

  • 基于python和flask实现http接口过程解析

    为什么要做这个? mock 第三方服务时,需要使用,另外包括自身开发,有时也会用到python #!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Fri Jun 12 18:52:42 2020 @author: ansonwan """ from flask import Flask, request, jsonify import json app = Flask(__

  • Python中Flask-RESTful编写API接口(小白入门)

    1.API接口:hello world 案例 from flask import Flask from flask_restful import Api, Resource app = Flask(__name__) api = Api(app) class HelloWorld(Resource): def get(self): return {'hello': 'world'} api.add_resource(HelloWorld, '/') if __name__ == '__main_

  • Python flask框架post接口调用示例

    本文实例讲述了Python flask框架post接口调用.分享给大家供大家参考,具体如下: from flask import Flask,render_template,request app = Flask(__name__) @app.route("/login",methods = ['POST','GET']) def login(): if request.method == "POST": username = request.form.get('u

  • python+flask编写接口实例详解

    环境:Pycharm :其他环境:安装Anaconda 最近在做一个小型项目练手,涉及到大量的IP和相关数据处理,所以选用了Python来处理数据,但是处理完怎么给前端调用呢,今天这篇就是在Python方便地处理完数据后以接口形式把数据返回给前端. flask就是使用Python编写接口实例的关键库,先配置项目: ①(这一步可以使用Python默认解释器,但是后续安装库可能还需要配置,建议使用Anaconda)首先打开PyCharm,在file->settings->Project->p

  • zookeeper python接口实例详解

    本文主要讲python支持zookeeper的接口库安装和使用.zk的python接口库有zkpython,还有kazoo,下面是zkpython,是基于zk的C库的python接口. zkpython安装 前提是zookeeper安装包已经在/usr/local/zookeeper下 cd /usr/local/zookeeper/src/c ./configure make make install wget --no-check-certificate http://pypi.python

  • python flask安装和命令详解

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架.Web框架可以让我们不用关 心底层的请求响应处理,更方便高效地编写Web程序.因为Flask核心简 单且易于扩展,所以被称作微框架(micro framework).Flask有两个主 要依赖,一个是WSGI(Web Server Gateway Interface,Web服务器网关 接口)工具集--Werkzeug(http://werkzeug.pocoo.org/),另一个是 Jinja2模

  • python模块常用用法实例详解

    1.time模块(※※※※) import time #导入时间模块 print(time.time()) #返回当前时间的时间戳,可用于计算程序运行时间 print(time.localtime()) #返回当地时间的结构化时间格式,参数默认为时间戳 print(time.gmtime) #返回UTC时间的结构化时间格式 print(time.mktime(time.localtime())) #将结构化时间转换为时间戳 print(time.strftime("%Y-%m-%d %X&quo

  • python中time包实例详解

    在python中基础的时间运用,离不开time函数的支持.这些函数为了方便调用集中放在一个地方,叫做time包.有的人会仔细追寻time包的来源,会发现它和C语言有密不可分的关系.下面我们简单介绍time包的概念,然后就包中的一些函数进行列举,并附上对应的使用方法. 1.概念 time包基于C语言的库函数(library functions).Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数. 2.time包中的函数 time.clock()返回程序运行的整

  • goalng 结构体 方法集 接口实例详解

    目录 一 前序 二 事出有因 errors.As 方法签名 三 结构体与实例的数据结构 1. 结构体类型 2. 实例 3 方法调用 3.1 方法表达式 3.2 值实例调用所有方法 3.3 指针实例调用所有方法 3.4 空指针无法调用值方法 四 接口 1 接口数据结构 2 接口赋值 值方法集 指针方法集 总结 一 前序 很多时候我们以为自己懂了,但内心深处却偶有困惑,知识是严谨的,偶有困惑就是不懂,很幸运通过大量代码的磨练,终于看清困惑,并弄懂了. 本篇包括结构体,类型, 及 接口相关知识,希望对

  • java中的interface接口实例详解

     java中的interface接口实例详解 接口:Java接口是一些方法表征的集合,但是却不会在接口里实现具体的方法. java接口的特点如下: 1.java接口不能被实例化 2.java接口中声明的成员自动被设置为public,所以不存在private成员 3.java接口中不能出现方法的具体实现. 4.实现某个接口就必须要实现里面定义的所有方法. 接下来看一个实现接口的案例: package hello;   interface competer{ //定义接口 void set_comp

  • python实现rsa加密实例详解

    python实现rsa加密实例详解 一 代码 import rsa key = rsa.newkeys(3000)#生成随机秘钥 privateKey = key[1]#私钥 publicKey = key[0]#公钥 message ='sanxi Now is better than never.' print('Before encrypted:',message) message = message.encode() cryptedMessage = rsa.encrypt(messag

  • Python 迭代器与生成器实例详解

    Python 迭代器与生成器实例详解 一.如何实现可迭代对象和迭代器对象 1.由可迭代对象得到迭代器对象 例如l就是可迭代对象,iter(l)是迭代器对象 In [1]: l = [1,2,3,4] In [2]: l.__iter__ Out[2]: <method-wrapper '__iter__' of list object at 0x000000000426C7C8> In [3]: t = iter(l) In [4]: t.next() Out[4]: 1 In [5]: t.

  • Python 私有函数的实例详解

    Python 私有函数的实例详解 与大多数语言一样,Python 也有私有的概念: • 私有函数不可以从它们的模块外面被调用 • 私有类方法不能够从它们的类外面被调用 • 私有属性不能够从它们的类外面被访问 与大多数的语言不同,一个 Python 函数,方法,或属性是私有还是公有,完全取决于它的名字. 如果一个 Python 函数,类方法,或属性的名字以两个下划线开始 (但不是结束),它是私有的:其它所有的都是公有的. Python 没有类方法保护 的概念 (只能用于它们自已的类和子类中).类方

随机推荐