【发布时间】:2025-12-17 18:15:02
【问题描述】:
我正在尝试在 HTML 中创建一个下拉列表,这样当我提交选择时,该选项将被传递到 Python 代码中并重新呈现 HTML 页面。
我设法创建了一个下拉列表,但提交的内容没有正确发送回 Python 代码,我不知道为什么。有人可以帮帮我吗?
到目前为止,这是我的 Python 代码:
from flask import Flask, render_template, request
import pandas as pd
app = Flask(__name__)
@app.route("/", methods=['GET', 'POST'])
def table():
def tabledata(columns):
table = pd.read_excel('/Users/Time Series_2021-04-03.xlsx', header=2)
data = table[columns]
return data
if request.method == "POST":
col = request.form.get('column')
columns = col
else:
columns = ['Asset A']
columnslist = ['Asset A', 'Asset B', 'Asset C']
data = tabledata(columns)
return render_template("table.html", data = data.to_dict(orient='records'), column=columnslist)
HTML 代码:
<form action="" method="POST">
<select action="/" method="POST">
<option value="{{column[0]}}" selected>{{column[0]}}</option>
{% for col in column[1:] %}
<option value="{{column}}">{{col}}</option>
{% endfor %}
</select>
<input name="column" type="submit">Submit</input>
</form>
<table class="table">
<thead>
<tr>
<th scope="col">Column name 1</th>
</tr>
</thead>
{% for row in data %}
<tr>
<td>{{row}}</td>
</tr>
{% endfor %}
</table>
【问题讨论】: