Python 烧瓶 request.form 不工作

Python Flask request.form not working

我有一个关于 Python 的问题。 我正在尝试以一种形式获得多个按钮,但没有成功。

我试过使用 if 'elem' in request.form,但它不起作用,因为提交没有进入 request.form。你知道它是怎么来的吗?

我已经尝试用这个解决了:Flask Python Buttons 但那没有成功。 Google 对我也不起作用,因此为什么要在这里尝试。

Python代码:

@app.route('/option_new_sender/', methods = ['GET','POST'])
def option_new_sender():
# Add selected elements to session['added_elements']
if 'add_elem' in request.form:
    return 'a'
# Delete Selected elements from session['added_elems']
elif 'remove_elem' in request.form:
    return 'b'
# Reset verwijderd session['added_elems']
elif 'reset' in request.form:
    return 'c'
# Verzend form en voegt toe aan 'entries_plot_list
elif 'send_form' in request.form:
    return 'd'
else:
    return 'e'

HTML代码:

<form action={{url_for("option_new_sender")}} method="POST">
<h2>Een nieuwe grafiek toevoegen</h2>
Titel: <input type="text" name="title" value={{title}}><br/>
Perc: <input type="text" name="perc" value={{perc}}><br/>
<select name = "added_elems" multiple size="5">
    {% for elem in elems %}
        <option value = "{{elem}}">{{elem}}</option>
    {% endfor %}
</select>
<button type= "submit" value = "remove_elem">Remove element</button>
</br></br>
Element: 
<select name = "elem" multiple size = "5">
    {% for elem in all_elems %} 
        <option value = "{{elem}}">{{elem}}</option>
    {% endfor %}
</select>
<button type="submit" value = "add_elem">Add element</button>
<button type="submit" value = "send_form">Verzenden</button>
<button type="submit" value = "reset">Reset</button>
</form>

无论我尝试什么都没关系,出于某种原因,提交总是在 'e' 结束。 提前致谢!

要在 HTTP POST 中提交的任何元素都需要具有 name 属性。你的按钮没有,所以你需要添加它们。

<button type="submit" name="add_elem" value="add">Add element</button>

试试这个

<button type="submit" name="add_elem" value="add">Add element</button>
<button type="submit" name="send_form" value="send">Verzenden</button>
<button type="submit" name="reset" value="reset">Reset</button>