私は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' で終了送信、試すかは重要ではありません。 ありがとうございます!
は、あなたは、単にそれがどのように見えるかを確認するために 'request.form'をプリントアウトしたことがありますか?試してみてください –
ミシェル:はい、持っています! Request.formは、テーブルに何も選択されていないときにこれを示します: ImmutableMultiDict([( 'タイトル'、 '')、( 'perc'、 '')]) – Tunder250