PythonのWebフレームワークであるFlaskでは、ユーザーにフィードバックを提供するためのフラッシュメッセージシステムが提供されています。フラッシュメッセージは、ユーザーが何らかの行動を起こしたときに、その行動が正しく処理されたことを知らせたり、失敗したことを知らせるために利用されます。

Flaskのflashメソッド

Flaskのflashメソッドは、メッセージを表示するために使用されます。このメソッドは、一つのFlaskビューでフラッシュメッセージを作成し、それを次のビューで表示することができます。

from flask import Flask, flash, render_template, request

app = Flask(__name__)
app.secret_key = 'secret_key'

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        name = request.form.get('name')
        age = request.form.get('age')
        if name and age:
            flash('登録に成功しました!')
            flash('これからよろしくお願いいたします!')
        else:
            flash('登録に失敗しました。')
            flash('名前・年齢を入力してください。')
    return render_template('index.html')

if __name__ == '__main__':
    app.run(debug=True)

上記のコードでは、ユーザーがフォームを送信したときに、名前と年齢が入力されているかどうかを確認します。両方とも入力されている場合、成功メッセージがフラッシュされます。どちらかが入力されていない場合、失敗メッセージがフラッシュされます。

フラッシュメッセージの表示

フラッシュメッセージは、HTMLテンプレート内でget_flashed_messages関数を使用して表示することができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>flash message test</title>
</head>
<body>
    <h1>登録画面</h1>
    {% with messages = get_flashed_messages() %}
    {% if messages %}
    <ul>
        {% for message in messages %}
        <li>{{ message }}</li>
        {% endfor %}
    </ul>
    {% endif %}
    {% endwith %}
    <form method="POST">
        <p>名前<br><input type="text" name="name"></p>
        <p>年齢<br><input type="text" name="age"></p>
        <input type="submit" value="送信">
    </form>
</body>
</html>

上記のHTMLテンプレートでは、get_flashed_messages関数を使用してフラッシュメッセージを取得し、それらをリストとして表示しています。

以上がPython Flaskでのフラッシュメッセージの基本的な使用方法です。この機能を活用することで、ユーザーに対して効果的なフィードバックを提供することができます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です