【发布时间】:2020-08-06 15:49:56
【问题描述】:
我有一个 HTML 页面 choose.html 有多个按钮,每个按钮都具有相同的名称。我想在我的 Python/Flask 代码中将按下按钮的值分配给变量 users_choice。
<form action="/" method="post">
<div class="card_container_choose">
<div class="row_choose">
<div class="column_choose">
<button type="submit" name="choose" value="Alex"/>
<button type="submit" name="choose" value="Alfred"/>
<button type="submit" name="choose" value="Anita"/>
<button type="submit" name="choose" value="Anne"/>
</div>
</div>
</div>
</form>
目前,我有一个名称列表,all_names=["Alex", "Alfred", "Anita", "Anne"],我正在尝试将按下按钮的值与列表中的一个名称匹配,然后再将其分配给users_choice。分配后,我在我的 numpy 矩阵中引用 users_choice。
all_names = ["Alex", "Alfred", "Anita", "Anne"]
@app.route("/", methods=["GET", "POST"])
def choose():
if request.method == "POST":
for name in all_names:
if request.form.get('choose') == name:
users_choice = name
break
users_choice_index = np.where(user_board == users_choice)[0]
但是,我收到此错误消息
UnboundLocalError: local variable 'users_choice' referenced before assignment
表明users_choice 从未被赋值。
谁能帮助解释发生了什么以及如何解决它?
【问题讨论】:
-
为什么要使用循环?为什么不只是
if request.form.get('choose') in all_names:? -
print(request.form.get('choose'))显示什么?
标签: python html flask runtime-error