编写代码,使用Python的Flask框架作为后端,使用HTML、CSS和JavaScript作为前端,实现前端输入两个数,后端计算两个数之和,最后前端显示两个数之和
时间: 2024-09-30 10:07:30 浏览: 32
在Python中,我们可以使用Flask框架创建一个简单的Web应用,它接收前端传来的数据并返回计算结果。首先确保已经安装了Flask库和其他依赖。下面是后端代码示例(app.py):
```python
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
num1 = float(request.form['num1'])
num2 = float(request.form['num2'])
result = num1 + num2
return render_template('result.html', sum=result)
else:
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
```
这个后端会监听`http://localhost:5000/`路径,当用户通过表单提交请求时(比如点击“计算”按钮),它将获取`num1`和`num2`的值,并计算它们的和。
现在我们需要创建前端页面,包括HTML、CSS和一些基本的JavaScript。在项目目录下新建一个名为templates的文件夹,分别创建`index.html` 和 `result.html` 文件:
**index.html**
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Number Addition</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<form id="additionForm">
<label for="num1">Number 1:</label>
<input type="number" id="num1" name="num1"><br>
<label for="num2">Number 2:</label>
<input type="number" id="num2" name="num2"><br>
<button type="submit">Calculate</button>
</form>
<div id="result"></div>
<script src="script.js"></script>
</body>
</html>
```
**styles.css**
```css
body {
font-family: Arial, sans-serif;
}
form {
margin-bottom: 1rem;
}
```
**script.js**
```javascript
document.addEventListener('DOMContentLoaded', function () {
const form = document.getElementById('additionForm');
form.addEventListener('submit', async (e) => {
e.preventDefault();
const num1 = document.getElementById('num1').value;
const num2 = document.getElementById('num2').value;
const response = await fetch('/?', { method: 'POST', body: `num1=${num1}&num2=${num2}` });
const result = await response.text();
document.getElementById('result').innerText = `The sum is: ${result}`;
});
});
```
在这个例子中,前端通过JavaScript阻止表单默认提交,发送异步POST请求到服务器获取计算结果。然后在`result.html` 中,我们渲染结果,如果后端返回的是字符串类型的数字,则显示在页面上。
阅读全文