2016-05-09 11 views
-1

私はPythonに関する質問があります。 複数のボタンを1つのフォームで取得しようとしていますが、機能していません。Python Flask request.formが動作しません。

私は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' で終了送信、試すかは重要ではありません。 ありがとうございます!

+0

は、あなたは、単にそれがどのように見えるかを確認するために 'request.form'をプリントアウトしたことがありますか?試してみてください –

+0

ミシェル:はい、持っています! Request.formは、テーブルに何も選択されていないときにこれを示します: ImmutableMultiDict([( 'タイトル'、 '')、( '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> 
関連する問題