2016-05-09 62 views
-1

我有一个关于Python的问题。 我想获得一个窗体中的多个按钮,但它不工作。Python烧瓶request.form不工作

我已经尝试使用if 'elem' in request.form,但这是行不通的,因为提交的不会在request.form去。你有任何想法是如何来的?

我已经试着解决这个问题:Flask Python Buttons 但这并没有奏效。 谷歌不为我工作,因此为什么试试这里。

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' 结束。 提前谢谢!

+0

你尝试简单地打印出'request.form',看看是什么样子? –

+0

米歇尔:是的,我有! Request.form给出了这个,当表中没有选中时: ImmutableMultiDict([('title',''),('perc','')]) – Tunder250

回答

1

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

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

谢谢!这有点解决了这个问题。我想我必须在我的脑海中交换'价值'和'名字'。 – Tunder250

-1

试试这个

<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>