使用Python、Flask、Streamlit快速创建API接口服务

创建API,并在开发中的任何地方使用它们是非常有用的,该如何制作它们呢?🤔🤔

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

什么是API?

API,即应用编程接口,已经彻底改变了软件应用程序之间的沟通方式。API使不同的应用程序和系统能够无缝地分享数据和服务,使企业和个人有可能创造新的和创新的产品和服务。

API的魅力在于它们能够释放以前无法访问或难以使用的数据和服务的力量。通过API,开发者可以访问和使用来自广泛来源的数据,包括社交媒体平台、政府数据库、金融机构等等。他们还可以使用API来建立新的应用程序,利用现有系统的服务和能力,如支付处理、消息传递和位置服务。

我想我应该开始编码,因为理论部分总是折磨我😅😅。我将会使用Flask和Streamlit库。你可以通过这些文件来了解功能。

开始动手

安装Flask和Streamlit的依赖项

pip install Flask
pip install streamlit

让我们把代码分为两个文件。第一个文件是运行服务器,这样它就可以通过API进行展示。第二个文件是通过Streamlit在网页上显示输出。

在server.py文件中,数据函数被用来执行查询和返回响应。它可以通过使用能够提供深度学习模型或人工智能模型的响应的服务进行修改。

import json
from flask import Flask, request, render_template_string

app = Flask(__name__)

youtube_code = """<iframe width="560" height="315" src="https://www.youtube.com/embed/jDEYYZRWX_Q" title="YouTube 
video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; 
picture-in-picture; web-share" allowfullscreen></iframe>"""


@app.route("/")
def index():
    return render_template_string("<h1>Hello, Don't forget to check out my vlog channel<h1> <br>" + youtube_code)


@app.route("/check_api")
def data():
    query = request.args.get("query")
    if query:
        response = {"response": "Please Subscribe https://www.youtube.com/@adityamangal98"}
        json_data = json.dumps(response)
        return json_data
    else:
        response = {}
        json_data = json.dumps(response)
        return json_data


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1111, debug=True)

为了托管API,在终端运行Server.py并保持运行,这样我们就可以在网页上检查API。

python Server.py

它将在http://localhost:1111/check_api,创建API。

现在,请看main.py文件,它将用于运行streamlit库。因为我们要在网页上渲染响应。

import requests
import streamlit as st

st.title("Input your Query")
selector = st.text_area(label="Input Query", value="", height=None, max_chars=None, key=None, help=None, on_change=None,
                        args=None, kwargs=None, placeholder=None, disabled=False, label_visibility="hidden")
query_text_sql = selector

if st.button("Search", type='primary'):
    data = requests.get("http://localhost:1111/check_api", params={"query": query_text_sql}).json()
    output_query = data["response"]
    st.header("Query Response")
    st.write(output_query)

要运行main.py,在终端运行以下代码:

streamlit run main.py

好哇,我们已经创建了一个API。现在,轮到你为深度学习模型或其他查询制作API了。你可以在这里查看我的GitHub repo。

推荐书单

《Python从入门到精通(第2版)》

《Python从入门到精通(第2版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python进行程序开发应该掌握的各方面技术。全书共分23章,包括初识Python、Python语言基础、运算符与表达式、流程控制语句、列表和元组、字典和集合、字符串、Python中使用正则表达式、函数、面向对象程序设计、模块、异常处理及程序调试、文件及目录操作、操作数据库、GUI界面编程、Pygame游戏编程、网络爬虫开发、使用进程和线程、网络编程、Web编程、Flask框架、e起去旅行网站、AI图像识别工具等内容。所有知识都结合具体实例进行介绍,涉及的程序代码都给出了详细的注释,读者可轻松领会Python程序开发的精髓,快速提升开发技能。除此之外,该书还附配了243集高清教学微视频及PPT电子教案。

《Python从入门到精通(第2版)》【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《Python从入门到精通(第2版)》在线选购,本书作者:明日科技,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!icon-default.png?t=N4P3https://item.jd.com/13284890.html

微信搜索关注《Python学研大本营》

访问【IT今日热榜】,发现每日技术热点

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值