Flash Messages

Kategori: Python / Flask , 18 Eylül 2019 , JanFranco


Kullanıcıların yaptığı herhangi bir işlemden sonra (kayıt olmak, giriş yapmak, yazı oluşturmak gibi) geri bildirim adına flash mesajları kullanabiliriz. Bunun için flask kütüphanesinden flash methodunu import edelim:


from flask import Flask, render_template, flash, redirect, url_for, session, logging, request, flash
Ana dosyamızdaki register() fonksiyonunda, veritabanı işlemlerinden sonra flash methodunu kullanarak, başarıyla kayıt olundu şeklinde bir mesaj verelim:


@app.route("/register", methods = ["GET", "POST"])
def register():
    form = RegisterForm(request.form)
    if request.method == "POST" and form.validate():
        name = form.name.data
        username = form.username.data
        password = sha256_crypt.encrypt(form.password.data)
        email = form.email.data

        cursor = mysql.connection.cursor()
        query = "INSERT INTO users (name, email, username, password) VALUES (%s, %s, %s, %s)"
        cursor.execute(query, (name, email, username, password))
        mysql.connection.commit()
        cursor.close()

        flash("Successfully registered!", category="success")

        return redirect(url_for("index"))
    else:
        return render_template("register.html", form=form)
Ana dosyamızın üst kısımlarında bir secret_key tanımlayalım:


app = Flask(__name__)
app.secret_key = "jfblog123"
layout.html dosyasını açalım ve container arasında, body bloğunun üstünde flash.html dosyasını dahil edelim:


{% include "includes/flash.html" %}
includes klasörüne girelim ve flash.html dosyasını oluşturalım:


{% with messages = get_flashed_messages(with_categories=true) %}
    {% if messages %}
        {% for category, message in messages %}
            <div class="alert alert-{{category}}" role="alert">
                <strong> {{ message }} </strong>
            </div>
        {% endfor %}
    {% endif %}
{% endwith %}
/register adresine girelim, kayıt olalım, test edelim:

Flask Flash Message


Sonraki Yazı: Login, Login Page
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın