如何使用Flask编写Python Web API

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

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

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

设置一个Flask应用程序

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


   
   
$ 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代码中:


   
   
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:


   
   
( 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请求。 您可以使用wgetcurl或任何Web浏览器对其进行测试。 启动服务器后,将在Flask的输出中提供要使用的URL。


   
   
$ 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."
        ]
    }
}

要查看使用Python和Flask的类似Web API的更复杂版本,请导航至美国国会图书馆的“ 美国慢性病”网站,该网站提供对历史报纸和数字报纸页面信息的访问。

为什么要使用Flask?

烧瓶有几个主要优点:

  1. Python非常流行且被广泛使用,因此任何了解Python的人都可以为Flask开发。
  2. 它轻巧而简约。
  3. 考虑安全性而构建。
  4. 出色的文档,其中包含大量清晰,有效的示例代码。
  1. 它轻巧而简约。 如果您正在寻找带有大量捆绑库和预制组件的框架,那么这可能不是您的最佳选择。
  2. 如果必须围绕Flask构建自己的框架,则可能会发现维护自定义项的成本抵消了使用Flask的好处。

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

翻译自: https://opensource.com/article/19/11/python-web-api-flask

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值