26 - 闪现

闪现: 就是向前端页面传递数据,在当前请求渲染页面或者重定向页面都可以获取

用法: 在请求结束的时候添加 flash()

代码示例:       

        (1). 编写登录页面




    
    Title


         (2).  视图函数添加闪现,并重定向到首页

from flask import Blueprint, render_template, request, redirect, url_for, flash

user_bp = Blueprint('user', __name__)


@user_bp.route("/index")
def index():
    return render_template("user/index.html")


@user_bp.route('/login', methods=["GET", "POST"])
def login():
    if request.method == "POST":
        # 验证是否admin
        username = request.form.get("username")
        if username == "admin":
            flash("恭喜验证成功了", 'info')
            flash("嘿嘿", 'error')
            flash(username, 'warning')
            # return render_template("index.html")
            return redirect(url_for("user.index"))

        else:
            pass

    return render_template("user/login.html")

        (3). 首页接收闪现信息




    
    首页
    


{#获取闪现的消息#}
{#{% with messages = get_flashed_messages() %}#}
{#    {% if messages %}#}
{#        
    #} {# {% for message in messages %}#} {#
  • {{ message }}
  • #} {# {% endfor %}#} {#
#} {# {% endif %}#} {#{% endwith %}#} {# [() (),()]#} {# 获取闪现的消息和级别: 过滤闪现消息,只显示error内容 #} {#{% with messages=get_flashed_messages(category_filter=["error"]) %}#} {# 获取闪现的消息和级别: 显示全部 #} {% with messages=get_flashed_messages(with_categories=True) %} {% if messages %}
    {% for category,message in messages %}
  • {{ message }}
  • {% endfor %}
{% endif %} {% endwith %}

你可能感兴趣的:(Flask,flask)