帝国cms怎么做网站声明,wordpress编辑器提示失败,线下教育机构,百度是国企还是央企闪现—flash
这可不是LOL或是王者荣耀里的闪现哦~
Flask 中的 “闪现”#xff08;flash#xff09;是一种在请求之间传递消息的机制。它允许你将一条消息保存在一个请求中#xff0c;在下一个请求中获取并显示该消息#xff0c;然后立即将其删除【设置完之后阅后即焚flash是一种在请求之间传递消息的机制。它允许你将一条消息保存在一个请求中在下一个请求中获取并显示该消息然后立即将其删除【设置完之后阅后即焚】。
Flask 中的闪现机制涉及以下两个函数 flash(message, categorymessage): 这个函数用于在当前请求中闪现一条消息。message 参数是要闪现的消息内容category 参数是可选的消息分类默认为 message。通常情况下消息可以分为不同的类别如成功消息、错误消息等以便在前端进行样式化或特殊处理。 get_flashed_messages(with_categoriesFalse, category_filter[]): 这个函数用于获取所有已闪现的消息。with_categories 参数控制是否返回消息和其对应的分类默认为 False即只返回消息列表。category_filter 参数是可选的用于指定要获取的特定分类的消息。
实战讲解
# -*- coding: utf-8 -*-
from flask import Flask, flash, redirect, render_template, request, url_forapp Flask(__name__)
app.secret_key GuHanZheIsCool # 使用闪现必须设置secret_key哦~文末讲了原因。app.route(/)
def index():return render_template(index.html)app.route(/login, methods[GET, POST])
def login():if request.method POST:# Perform login validationusername request.form.get(username)password request.form.get(password)if username admin and password GuHanZhe:flash(Login successful!, success)return redirect(url_for(index))else:flash(Invalid credentials!, error)return render_template(login.html)if __name__ __main__:app.run()
在上述代码中使用 flash 函数在登录路由中闪现一条成功或错误消息。然后在首页路由中使用 get_flashed_messages 函数获取并显示这些已闪现的消息。
页面html代码
!-- index.html --
{% with messages get_flashed_messages() %}{% if messages %}ul classmessages{% for message in messages %}li{{ message }}/li{% endfor %}/ul{% endif %}
{% endwith %}!-- login.html --
form action{{ url_for(login) }} methodPOST{% with messages get_flashed_messages(category_filter[error]) %}{% if messages %}ul classerrors{% for message in messages %}li{{ message }}/li{% endfor %}/ul{% endif %}{% endwith %}!-- Form fields --input typetext nameusernamebrinput typetext namepasswordbrbutton typesubmitLogin/button
/form在模板中使用 get_flashed_messages 函数来获取已闪现的消息并根据需要在适当的位置进行渲染和显示。可以根据消息的分类进行样式化或特殊处理以便在前端进行区分和展示。
正常访问登录页面 输入错误账号密码点击‘login’后 刷新一下页面就会发现提示信息没了。这就是阅后即焚
当输入正确的账号密码点击‘login’后 刷新页面就会发现提示信息无了。这就是阅后即焚
拓展使用session简单实现闪现的功能
from flask import Flask, sessionapp Flask(__name__)
app.secret_key GuHanZheIsCoolapp.route(/x1)
def view_x1():session[msg] 孤寒者真帅~return 视图函数x1app.route(/x2)
def view_x2():msg session.pop(msg)print(msg)return 视图函数x2if __name__ __main__:app.run()
访问x1路由设置 访问x2路由控制台会打印msg二次访问会报错 其实我们直接进入flash源码就会发现其内部就是基于session实现的 有兴趣的同学可以自己继续往深扒一扒代码哦~