2017-10-09 5 views
0

いつflash('message')を使用する必要がありますか?現時点では、テンプレートに表示する必要があるメッセージを変数に渡すだけです。これは私のためにうまくいくように思えますが、何が欠けていますか?FlaskでFlashを使用するのはなぜですか?

{% if messageText %} 
<div id="message">{{messageText}}</div> 
{% endif %} 
+0

なぜあなたはこれについて心配していますか?ソースを私たちと共有することはできますか? –

+1

あなたのメソッドはうまくいきますが、それぞれに複数のそのようなメッセージを持つことができるページがたくさんあると面倒です。 –

+0

上記の方法では、使用するたびにmessageTextをクリアする必要があります。各メッセージは一度だけ表示されるため、Flashではこれが自動的に実行されます。 – Andras

答えて

1

オプションのカテゴリを使用して、1つ以上のリクエストで1つ以上のメッセージを収集する場合に使用します。ご使用のバージョンでは、現在のリクエストで1つのメッセージしか処理されません。フラッシュされたメッセージは、get_flashed_messagesで読み取られるまでセッションに保存されます。たとえば、ユーザーがフォームを送信すると成功メッセージがフラッシュされ、redirectが次のページに表示され、メッセージが表示されます。 See the docs on message flashing.

0

フラッシュメッセージは、redirectの後にユーザーにメッセージを表示する必要がある場合に便利です。

のは、次の2つのルートを持っているとしましょう:

  • /ユーザー
  • /ユーザー/追加

あなたは/users/addルートに新しいユーザーを投稿すると、あなたがユーザーを保存しますブラウザを/usersにリダイレクトして、登録ユーザーをリストします。

/users/addルートビュー機能では、flashのように「ユーザーアカウントが保存されました」というメッセージを表示できます。このメッセージはCookieに保存され、redirect/usersルートに送信すると、このメッセージをユーザーに表示できます。

関連する問題