2016-05-09 169 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>