1
Flaskアプリでユーザーに確認/成功メッセージを表示しようとしていますが、それをモーダルで表示する方法がわかりません。フォーム提出後にFlaskアプリで確認モーダルを表示するにはどうすればよいですか?
@app.route("/", methods=["POST"]
def sendForm():
form = ContactForm(request.form)
if request.method == 'POST':
if form.validate():
# do stuff with form data
return render_template("contact.html", form=form)
else:
# display error message
else:
return render_template("index.html")
私がcontact.html
テンプレートを返す部分は、助けが必要なところですと思います。そのページは基本的にリフレッシュされ、POSTリクエストが正常に完了した後に再び表示されるためです。代わりにモーダルで確認メッセージをユーザーに表示する必要があります。
フロントエンドには、私の形式は、次のようになります。
<form method="POST" action="{{ url_for('sendForm') }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
{{ render_field(form.email) }}
{{ render_field(form.name) }}
<input id="submit-form" type="submit" value="Send">
</form>
これはすばらしいアプローチです。非常にシンプルすぎ、ありがとう!私が気づいたことの1つは、フォームが通過すると、ブラウザのURLが '@ app.route("/")'で更新されるということです。ブラウザの更新アイコンをクリックすると、 'POST'リクエストが再送されます。これを避ける方法はありますか? – mapr
これは実際には興味深い質問です。一見すると、私はこれが助けるかもしれないと思う - http://stackoverflow.com/questions/4327236/stop-browsers-asking-to-resend-form-data-on-refresh –
ありがとう!それをチェックします。 – mapr