【发布时间】:2016-09-04 03:37:46
【问题描述】:
我有一个关于 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'结尾。 提前谢谢!
【问题讨论】:
-
您是否尝试过简单地打印出
request.form来查看它的样子? -
米歇尔:是的,我有!当表格中没有选择任何内容时,Request.form 给出了这个: ImmutableMultiDict([('title', ''), ('perc', '')])
标签: python flask request.form