来自 Python 列表的下拉菜单使用 Flask 和 HTML

Dropdown menu from Python list using Flask and HTML

我正在使用 python 脚本中的信息在 HTML 中创建下拉菜单。我从这个 Whosebug 问题中得到启发:

但是,当我尝试取回所选答案时,我得到(也尝试使用 'colour' 并给了我同样的问题):

select = request.form.get(colours)
NameError: name 'colours' is not defined

这是我的 __init__.py,它是我的 Flask 应用程序的主要部分,我有这条路线,它应该检索下拉菜单选择的元素和 returns 所选值(仅在网络浏览器上显示):

@app.route("/upload", methods=["POST", "GET"])
def upload():
if "email" in session:
    if request.method == "POST":
        select = request.form.get(colours)
        return str(select)
    else:
        return render_template("upload.html", colours=dirs)
else:
    return render_template("index.html")

这是我的 upload.html,其中包含下拉菜单的 HTML 代码:

 <form  action="{{ url_for('upload') }}" method="post">

            <div>
                <select class="browser-default custom-select" name= colours method="POST" action="/" >
                    {% for colour in colours %}
                    <option value= "{{colour}}" SELECTED>{{colour}}</option>"
                    {% endfor %}
                </select>
            </div>

    <input type="image" src="https://thisisapicture.png" style="height: 45px">
</form>

我如何检索用户对下拉菜单的选择,因为 request.form.get(颜色) 和 request.form.get(颜色) 都不是 'not defined'?

<form action="{{ url_for('upload') }}" method="post">

您当前的 form 标签的 action 属性未定义,因此当您提交时它不会向任何地方发送数据。