【问题标题】:Get dropdown selection using Flask and HTML [duplicate]使用 Flask 和 HTML 获取下拉选择 [重复]
【发布时间】: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>

【问题讨论】:

    标签: python html flask


    【解决方案1】:

    &lt;option value="{{column}}"&gt;{{col}}&lt;/option&gt; 更改为&lt;option value="{{col}}"&gt;{{col}}&lt;/option&gt; 将起作用。

    【讨论】:

      最近更新 更多