flask如何增加路由实现html页面随机生成两个100以内的数相加
时间: 2024-10-16 09:08:46 浏览: 22
基于Python+Flask和爬虫的微博用户画像生成器源码+全部资料(毕业设计).zip
5星 · 资源好评率100%
要在 Flask 中增加路由并实现HTML页面上随机生成两个100以内的数相加,你可以按照以下步骤操作:
1. 首先安装Flask框架,如果还没有安装,可以使用`pip install flask`命令。
2. 创建一个Python文件,比如`app.py`,然后导入必要的模块:
```python
from flask import Flask, render_template, request, jsonify
import random
```
3. 初始化Flask应用:
```python
app = Flask(__name__)
```
4. 定义一个用于生成随机数并返回结果的视图函数。这里我们可以创建一个GET请求的路由,用于渲染HTML模板,并提供一个POST请求的路由来进行计算:
```python
@app.route('/')
def index():
return render_template('index.html')
@app.route('/add', methods=['POST'])
def add_numbers():
num1 = random.randint(0, 99)
num2 = random.randint(0, 99)
result = num1 + num2
return jsonify({'result': result})
```
5. 创建一个名为`templates`的文件夹,里面有一个`index.html`文件,该文件将包含HTML结构和一个表单用于提交两个数字:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>随机数相加</title>
</head>
<body>
<h1>请输入两个100以内的数字:</h1>
<form id="number-form" action="/add" method="post">
<label for="num1">第一个数:</label>
<input type="number" name="num1" min="0" max="99"><br><br>
<label for="num2">第二个数:</label>
<input type="number" name="num2" min="0" max="99"><br><br>
<button type="submit">计算</button>
</form>
<script>
// JavaScript部分可以在页面加载后动态获取结果,这取决于前端交互需求
document.getElementById("number-form").onsubmit = function(e) {
e.preventDefault();
const formData = new FormData(this);
fetch('/add', {
method: 'POST',
body: formData,
headers: {'Content-Type': 'multipart/form-data'}
})
.then(response => response.json())
.then(data => {
document.getElementById('result').innerHTML = `结果: ${data.result}`;
});
}
</script>
<div id="result"></div>
</body>
</html>
```
6. 运行Flask应用:
```python
if __name__ == '__main__':
app.run(debug=True)
```
现在当你访问`http://localhost:5000/`时,会显示一个表单,用户输入两个数字并点击“计算”按钮,后台会通过POST请求向`/add`发送数据,然后返回计算结果。
阅读全文