Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用Flask编写Python Web API【Programming(Python)】

如何使用Flask编写Python Web API【Programming(Python)】

作者头像
Potato
修改于 2019-12-02 03:20:35
修改于 2019-12-02 03:20:35
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

在此快速教程中,使用Flask(增长最快的Python框架之一)从服务器获取数据。

图片来源:Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0
图片来源:Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0

Python是一种高级的,面向对象的编程语言,以其简单的语法而闻名。 它始终是用于构建RESTful API的顶级编程语言之一。

Flask是可自定义的Python框架,可为开发人员提供对用户访问数据方式的完全控制。 Flask是基于Werkzeug的WSGI工具包和Jinja 2的模板引擎的“微框架”。 它被设计为用于RESTful API开发的Web框架。

Flask是发展最快的Python框架之一,包括Netflix,Pinterest和LinkedIn在内的流行网站已将Flask纳入其开发堆栈。 这是Flask如何允许用户使用HTTP GET方法从服务器获取数据的示例。

设置一个Flask应用程序

首先,为Flask应用程序创建一个结构。 您可以在系统上的任何位置执行此操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $ mkdir tutorial
 $ cd tutorial
 $ touch main.py
 $ python3 -m venv env
 $ source env/bin/activate
 (env) $ pip3 install flask-restful
 Collecting flask-restful
 Downloading https://files.pythonhosted.org/packages/17/44/6e49...8da4/Flask_RESTful-0.3.7-py2.py3-none-any.whl
 Collecting Flask>=0.8 (from flask-restful)
 [...]

导入Flask模块

接下来,将flask模块及其flask_restful库导入到main.py代码中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 from flask import Flask
 from flask_restful import Resource, Api
 
 app = Flask(__name__)
 api = Api(app)
 
 class Quotes(Resource):
  def get(self):
  return {
  'William Shakespeare': {
  'quote': ['Love all,trust a few,do wrong to none',
  'Some are born great, some achieve greatness, and some greatness thrust upon them.']
  },
  'Linus': {
  'quote': ['Talk is cheap. Show me the code.']
  }
  }
 
 api.add_resource(Quotes, '/')
 
 if __name__ == '__main__':
     app.run(debug=True)

运行应用

Flask包括一个用于测试的内置HTTP服务器。 测试您构建的简单API:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 (env) $ python main.py
  * Serving Flask app "main" (lazy loading)
  * Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
  Use a production WSGI server instead.
  * Debug mode: on
  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

启动开发服务器将启动Flask应用程序,该应用程序包含名为get的方法,用于响应简单的HTTP GET请求。 您可以使用wget或curl或任何Web浏览器对其进行测试。 启动服务器后,将在Flask的输出中提供要使用的URL。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl http://localhost:5000
 {
  "William Shakespeare": {
  "quote": [
  "Love all,trust a few,do wrong to none",
  "Some are born great, some achieve greatness, and some greatness thrust upon them."
  ]
  },
  "Linus": {
  "quote": [
  "Talk is cheap. Show me the code."
  ]
  }
 }

想要看到一个更复杂版本的类似的 web API,使用 Python 和 Flask,导航到美国国会图书馆的编年史网站,该网站提供历史报纸和数字化报纸页面的信息。

为什么要使用Flask?

Flask有几个主要优点:

1. Python非常流行且被广泛使用,因此任何了解Python的人都可以为Flask开发。

2. 它轻巧而简约。

3. 考虑安全性而构建。

4. 出色的文档,其中包含大量清晰,有效的示例代码。

还有一些潜在的缺点:

1. 它轻巧而简约。 如果您正在寻找具有大量捆绑库和预制组件的框架,那么这可能不是您的最佳选择。

2. 如果必须围绕Flask构建自己的框架,则可能会发现维护自定义项的成本抵消了使用Flask的好处。

如果您要构建Web应用程序或API,可以考虑选择Flask。 它功能强大且健壮,并且项目文档使入门变得容易。 试用一下,评估一下,看看它是否适合您的项目。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
⚠️ Python编写简易API
本文约550字,将耗费您约4⃣️分钟~ 所有的操作,仅在mac系统上实操过 前期准备 创建一个虚拟环境: $ mkdir flask_restful $ cd flask_restful $ python3 -m venv venv 激活虚拟环境: $ . venv/bin/activate 虚拟环境退出: $ deactivate 安装flask和flask_restful: $ pip install flask $ pip install flask_restful 项目接口模拟 在项目的根目录下
Jimmy_is_jimmy
2022/03/10
9410
Flask 学习-23.restful 接口开发
前言 Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST APIs 的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。 Flask-RESTful 鼓励以最小设置的最佳实践。如果你熟悉 Flask 的话,Flask-RESTful 应该很容易上手。 环境准备 使用 pip 安装 Flask-RESTful: pip install flask-restful 中文官方文档:http://www.pythondoc.com/Flask-RESTful/qui
上海-悠悠
2022/09/02
4340
Flask 学习-23.restful 接口开发
Flask-RESTful-API文档的生成和发布(一)
Flask-RESTful是一个基于Flask的扩展,它提供了一种快速构建RESTful API的方法。在开发RESTful API时,我们通常需要为API生成文档并进行发布,以便其他开发人员可以了解API的使用方法和参数,以便在开发过程中快速调试和集成。
堕落飞鸟
2023/05/06
1.1K0
Flask-RESTful扩展的安装和配置(一)
Flask-RESTful 是一个 Flask 扩展,可以方便地创建 RESTful APIs。它提供了方便的资源路由、请求和响应数据的序列化和反序列化、异常处理等功能,使得开发 RESTful APIs 变得简单易用。
堕落飞鸟
2023/05/06
4200
Python的Flask框架开发RESTful API
运行python app.py,Flask自带的Server在端口5000上监听:
测试开发社区
2019/09/20
1.5K0
Python的Flask框架开发RESTful API
Python总结-----Flask框架
django-admin 可以快速创建工程目录 manage.py 管理工程项目 orm 这是一个模型类,是一个抽象层的数据库,类似于iOS的Model、安卓的实体类和Java的Dto admin 后台管理站
GuangdongQi
2020/05/26
6800
认识Flask框架
Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理。但是缺点也很明显,它偏重。就像是一个装潢好的房子,它提供好了你要用的东西,直接拿来用就可以。
Devops海洋的渔夫
2019/10/24
9380
认识Flask框架
Flask RESTful API 简单的设计一个 GET 请求接口
数据库:PostgreSQL 框架:Flask 语言:Python 3.6 前提 之前我有每天定时爬取bing壁纸,写入postgresql数据库的,如下: ER图 需要的Python环境 flask
禹都一只猫olei
2018/07/05
6.2K3
python实现RESTful服务(基于flask)
上一篇文章讲到如何用java实现RESTful服务,这就来讲讲怎么用python来实现吧,因为要搭建一套java和python互调的服务,两者都不能少啊。
vell001
2018/08/09
2.8K0
python实现RESTful服务(基于flask)
Python Flask高级用法:构建强大而可扩展的Web应用
Flask是一款简单而灵活的Web框架,但其灵活性同时也为开发者提供了许多高级用法和扩展,使得可以构建强大而可扩展的Web应用。本文将深入介绍一些Flask的高级用法,包括Blueprints、Middleware、信号处理以及一些优化和安全性的实践。
dbdocker
2024/02/05
3850
Flask API 项目 Swagger 版本打架不兼容
通过使用 Flask-RESTful 和 flask-apispec 来定义 API 资源,并添加 Swagger 文档注解。
误入歧途
2025/04/22
670
Flask API 项目 Swagger 版本打架不兼容
Web 开发 RESTful
Flask 的 RESTful 模块是 flask-restful ,使用 pip 安装:
HLee
2021/04/08
1.1K0
Web 开发 RESTful
Flask-RESTful的资源和路由设计
在 Flask-RESTful 中,资源是应用程序的主要组成部分,用于处理客户端请求和响应。资源类可以通过 HTTP 方法进行操作,例如 GET、POST、PUT、DELETE 等。
堕落飞鸟
2023/05/06
4900
flask框架基本使用
Flask可以搭建轻量服务api,而且使用python语言编写程序,非常方便。以前也使用过php做服务器后端,但是不喜欢php的$,而且我想多学学python,没想到Flask框架恰好能满足我的需求,简直是一个神器!特别适合我这种非计算机专业人士学习,能快速搭建api,为前端web、微信小程序等提供api服务,非常nice,爱了爱了
Crayon鑫
2023/10/10
5370
从 Flask 切到 FastAPI 后,起飞了!
本文翻译自 Moving from Flask to FastAPI, 作者:Amal Shaji
Python编程与实战
2024/03/04
1.6K0
从 Flask 切到 FastAPI 后,起飞了!
Flask-RESTful的请求和响应处理(一)
在 Flask-RESTful 应用程序中,请求和响应处理非常简单。我们可以使用 Flask-RESTful 的 reqparse 模块来解析请求参数,并使用 Flask-RESTful 的 marshal 模块来序列化响应数据。
堕落飞鸟
2023/05/06
8340
Flask 扩展系列之 Flask-R
Flask-RESTful是一个Flask的扩展,它增加了对快速构建REST APIs的支持。它是一种轻量级的抽象,可以与现有的ORM/库一起工作。Flask-RESTful励以最少的安装方式进行最佳实践。如果你对Flask很熟悉的,Flask-RESTful会很容易上手。
py3study
2020/01/03
1.1K0
教你 10 分钟构建一套 RESTful API 服务( 中 )
上一篇文章,介绍了使用 Java + Spring Boot + MyBatis 构建 RESTful API 的详细步骤;很多小伙伴表示,更愿意用 Python 编写 RESTful API 服务,希望我能写一下
AirPython
2020/06/15
1.7K2
使用Flask构建简单的Web应用
在当今数字时代,构建高效、可扩展的Web应用程序是开发者们的一项重要任务。Python,作为一种简洁、强大的编程语言,为Web开发提供了丰富的工具和框架。在本篇文章中,我们将探讨使用Python构建Web应用程序的最佳实践,通过代码实例和深度解析来帮助你更好地理解和运用这些技术。
一键难忘
2024/04/17
5680
34. Flask 集成 flask-restful
这种方式当然可以开发 api, 但是当我们想要基于 restful 风格来编写 api,就不太方便了。就需要写 4 个单独的函数视图,如下:
Devops海洋的渔夫
2022/01/14
9000
34. Flask 集成 flask-restful
相关推荐
⚠️ Python编写简易API
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验