📜  使用 Flask 创建实时货币转换器应用程序 | Python(1)

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

使用 Flask 创建实时货币转换器应用程序 | Python

在本教程中,我们将使用 Flask 和 Open Exchange Rates 来创建一个实时货币转换网站。用户可以在网站上选择货币类型和金额,然后将其转换为其他货币。

前置要求

在开始之前,请确保您已经满足以下要求:

  • 熟悉 Python 编程语言。
  • 了解 Flask 框架。
  • 已经注册 Open Exchange Rates 账户并获取了 API 密钥。
设置环境
  1. 创建一个新的 Python environment
python -m venv venv
  1. 激活新的 environment
source venv/bin/activate (Linux/MacOS)
venv\Scripts\activate (Windows)
  1. 安装 Flask 和 requests
pip install Flask requests
编写代码
1.导入库
from flask import Flask, render_template, request
import requests

我们将使用 Flask 和 request 库来处理 HTTP 请求和响应。requests 库用于从 Open Exchange Rates API 获取货币汇率。

2. 创建 Flask app
app = Flask(__name__)
3. 创建函数
@app.route('/', methods=["GET", "POST"])
def index():
    converted_value = None
    if request.method == 'POST':
        currency_type = request.form['currency_type']
        currency_amount = request.form['currency_amount']
        target_currency = request.form['target_currency']

        url = f"https://openexchangerates.org/api/latest.json?app_id=YOUR_APP_ID&base={currency_type}"
        response = requests.get(url).json()

        exchange_rate = response["rates"][target_currency]
        converted_value = float(currency_amount) * exchange_rate

    return render_template('index.html', converted_value=converted_value)

我们创建了一个名为 index 的路由函数。当用户通过 GET 请求进入网站时,程序会响应带有转换器表单的 HTML 页面。当用户提交表单时,程序会通过 Open Exchange Rates API 获取汇率并将货币转换成目标货币。

4. 创建 HTML 模板
<!DOCTYPE html>
<html>
  <head>
    <title>货币转换器</title>
  </head>
  <body>
    <h1>货币转换器</h1>
    <form method="POST">
      <label for="currency_type">请选择货币类型:</label>
      <select name="currency_type" id="currency_type">
        <option value="USD" {% if request.form['currency_type'] == 'USD' %}selected{% endif %}>美元</option>
        <option value="EUR" {% if request.form['currency_type'] == 'EUR' %}selected{% endif %}>欧元</option>
        <option value="JPY" {% if request.form['currency_type'] == 'JPY' %}selected{% endif %}>日元</option>
      </select>
      <br /><br />
      <label for="currency_amount">请输入货币金额:</label>
      <input type="text" name="currency_amount" id="currency_amount" value="{{request.form['currency_amount']}}" />
      <br /><br />
      <label for="target_currency">请选择目标货币:</label>
      <select name="target_currency" id="target_currency">
        <option value="CNY" {% if request.form['target_currency'] == 'CNY' %}selected{% endif %}>人民币</option>
        <option value="USD" {% if request.form['target_currency'] == 'USD' %}selected{% endif %}>美元</option>
        <option value="EUR" {% if request.form['target_currency'] == 'EUR' %}selected{% endif %}>欧元</option>
        <option value="JPY" {% if request.form['target_currency'] == 'JPY' %}selected{% endif %}>日元</option>
      </select>
      <br /><br />
      <input type="submit" value="转换" />
    </form>
    {% if converted_value %}
      <p>转换后的金额为 {{ converted_value }}</p>
    {% endif %}
  </body>
</html>

在 HTML 模板中,我们创建一个表单,让用户选择货币类型、输入金额和选择目标货币。提交表单后,程序会将值传递给 Flask 路由函数,返回转换后的金额。

运行应用
  1. Open Exchange Rates 注册账户并获取 API 密钥
  2. 修改路由函数中的 url,将 "YOUR_APP_ID" 修改为你的 API 密钥。
  3. 运行 Flask 应用
export FLASK_APP=app.py
flask run

可以在浏览器中输入 http://localhost:5000/ 来访问网站。

总结

在本教程中,我们使用 Flask 和 Open Exchange Rates API 创建了一个实时货币转换网站。我们介绍了如何设置环境、编写代码和运行应用程序。Flask 框架使得构建 Web 应用程序变得非常简单,同时 Open Exchange Rates API 提供了实时货币汇率。