【发布时间】:2020-02-25 10:41:52
【问题描述】:
如何将我从同一个表单收到的每个输入保存到列表中? 希望如何将用户输入的每个权重保存在列表中。 是否可以保存用户插入的所有权重?如果他重新加载页面?
这是表格:
<form action="/send" method="POST">
<label for="">Weight</label>
<input type="text" name="weight">
<label for="">Height</label>
<input type="text" name="height">
<input type="submit" value="submit">
<br>
<div class="alert">
{{ BMI }}
</div>
这是烧瓶应用程序:
from flask import Flask, render_template, url_for, request
import schedule
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
return render_template('index.html')
@app.route('/send', methods=['GET', 'POST'])
def send():
if request.method=='POST':
weight = request.form['weight']
height = request.form['height']
a = float(weight)
b = float(height)
BMI = a/(b**2)
weights = []
weights.append(weight)
return render_template('index.html', BMI=BMI, weights = weights)
【问题讨论】:
-
您的路线已损坏。这将在每个 GET 请求上崩溃,因为您没有
return任何东西 -
一旦返回,视图内的所有内容都将消失。你想要的是某种数据库来存储价值然后返回
index.html -
你要么需要数据库,要么需要使用
session对象来持久化数据 -
我返回 BMI 计算结果。
-
不是你没有的 GET 请求
标签: python flask web-development-server