📜  如何使用 REST API 创建 Covid19 Country wise status 项目?(1)

📅  最后修改于: 2023-12-03 15:23:57.589000             🧑  作者: Mango

使用 REST API 创建 Covid19 Country wise status 项目

在本教程中,我们将讨论如何使用 REST API 创建 Covid19 Country wise status 项目。我们将使用Python和Flask框架。

什么是 REST API?

REST API是指基于HTTP协议的过程间通信机制,可以用于Web应用程序,它使用HTTP请求来进行通信,并返回JSON或XML数据格式。这种机制通常被用于创建Web服务和应用程序。

创建 Covid19 Country wise status 项目

1.安装 Flask 和 requests 模块

在开始之前,请确保您已经安装了Python,并安装了Flask和requests模块。你可以在终端命令行中使用下列命令安装它们:

pip install Flask requests

2.获取 API 地址

在本教程中,我们将使用https://corona.lmao.ninja/v2/countries中提供的COVID-19 API,该API提供COVID-19的国家级统计数据。

3.Flask 学习

在开始代码之前,让我们来学习一下有关Flask框架的一些基础知识:

  • Flask是一个Python微框架,易于使用和学习,并且轻量级。它帮助我们在Python中构建Web应用程序。
  • Flask使用Jinja2模板引擎来渲染Web应用程序的动态内容。
  • Flask通过使用路由器来管理URL,即将URL与特定方法关联。

4.创建 Flask 应用程序

让我们来创建一个名为 app.py 的文件,并添加以下代码:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('home.html')

if __name__ == '__main__':
    app.run(debug=True)

Flask应用程序的第一行导入了Flask类。然后我们使用它来创建一个应用程序对象。

在@aoo.route('/')装饰器中,我们将根URL('/')与home()函数进行关联。在这个函数中,我们向访问者返回了一个名为home.html的HTML模板。

最后,我们使用app.run(debug=True)方法启动Flask应用程序。

5.创建 HTML 模板

在/templates中创建一个名为home.html的文件,并添加以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Covid-19 Tracker</title>
</head>
<body>
    <h1>Coronavirus Tracker</h1>
    <table border="1">
        <thead>
            <tr>
                <th>Country</th>
                <th>Cases</th>
                <th>Deaths</th>
                <th>Recovered</th>
                <th>Active</th>
                <th>Per million</th>
                <th>Tests</th>
            </tr>
        </thead>
        <tbody>
            {% for country in countries %}
            <tr>
                <td>{{ country.country }}</td>
                <td>{{ country.cases }}</td>
                <td>{{ country.deaths }}</td>
                <td>{{ country.recovered }}</td>
                <td>{{ country.active }}</td>
                <td>{{ country.casesPerOneMillion }}</td>
                <td>{{ country.tests }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
</body>
</html>

在这个模板中,我们将显示COVID-19的国家级统计数据。我们使用

标签创建一个表格,并在标签中添加表头。在标签中,我们使用Jinja2模板语言添加循环来显示我们所需的数据。

6.从 API 获取数据

更新我们的app.py文件中,import requests包,并添加以下代码来从API中获取数据:

import requests

@app.route('/countries')
def countries():
    jsondata = requests.get('https://corona.lmao.ninja/v2/countries').json()
    return render_template('home.html', countries=jsondata)

我们创建了一个新的URL('/countries')并将其与一个名为countries()的函数进行关联。在这个函数中,我们使用requests.get()来从API中获取JSON数据。接下来,我们将数据传递到用于呈现HTML模板的render_template()函数中。我们使用Jinja2模板引擎来进行表展示。

完整代码

现在,您可以从下面的完整代码中复制粘贴代码,保存在app.py中,并在终端中运行Flask应用程序。

from flask import Flask, render_template
import requests

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('home.html')

@app.route('/countries')
def countries():
    jsondata = requests.get('https://corona.lmao.ninja/v2/countries').json()
    return render_template('home.html', countries=jsondata)

if __name__ == '__main__':
    app.run(debug=True)

这个项目使用Python和Flask框架来创建COVID-19国家级数据视图。我们使用 https://corona.lmao.ninja/v2/countries API来获取数据。Flask的核心概念是请求-响应循环和路由器。相信本教程会对你更好的了解 REST API 有所帮助。