📅  最后修改于: 2023-12-03 15:22:11.341000             🧑  作者: Mango
在本教程中,我们将使用 Flask 和 Open Exchange Rates 来创建一个实时货币转换网站。用户可以在网站上选择货币类型和金额,然后将其转换为其他货币。
在开始之前,请确保您已经满足以下要求:
python -m venv venv
source venv/bin/activate (Linux/MacOS)
venv\Scripts\activate (Windows)
pip install Flask requests
from flask import Flask, render_template, request
import requests
我们将使用 Flask 和 request 库来处理 HTTP 请求和响应。requests 库用于从 Open Exchange Rates API 获取货币汇率。
app = Flask(__name__)
@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 获取汇率并将货币转换成目标货币。
<!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 路由函数,返回转换后的金额。
url
,将 "YOUR_APP_ID" 修改为你的 API 密钥。export FLASK_APP=app.py
flask run
可以在浏览器中输入 http://localhost:5000/
来访问网站。
在本教程中,我们使用 Flask 和 Open Exchange Rates API 创建了一个实时货币转换网站。我们介绍了如何设置环境、编写代码和运行应用程序。Flask 框架使得构建 Web 应用程序变得非常简单,同时 Open Exchange Rates API 提供了实时货币汇率。