flask------消息闪现 flash

1介绍

flask提供了一个非常有用的flash()函数,它可以用来"闪现"需要提示给用户的消息,比如当用户登录成功后显示"欢迎回来!"。在视图函数调用flash()函数,传入消息内容,flash()函数把消息存储在session中,我们需要在模板中使用全局函数get_flashed_messages()获取消息并将它显示出来。

注意:通过flash()函数发送的消息会存储在session对象中,所以我们需要为程序设置秘钥。

复制代码
app.secret_key = 'fefefefefe'  #可以随意设置

可以通过app.secret_key属性或配置变量SECRET_KEY设置。

2.使用

你可以在任意视图函数中调用flash()函数发送消息。例如:index视图中,通过flash()函数发送一条消息,然后重定向到index视图。

python 复制代码
@app.route('/')
def index():
    flash('超时处理')
    return redirect('/order')
@app.route('/order')
def order():
    #咱们也可以利用get_flashed_messages()取出,取出之后就没了
    # print(get_flashed_messages())
    return render_template('order.html')

在base.html模板中加入处理闪现消息的函数:

因为同一个页面可能包含多条要显示的消息,所以这里使用for循环遍历get_flashed_message()返回的消息列表。

html 复制代码
{% for message in get_flashed_messages() %}
<h1>{{ message }}</h1>
{% endfor %}

3 总结:

使用场景:

  1. 一个请求---》假设出错了---》重定向到另一个地址---》把错误信息在另一个返回中看到错误信息放个位置----》另一个请求过来,去那个位置拿

2 把一些数据,放在某个位置---》后期可以去取出来----》取完不用删除,就没

python 复制代码
# 如何设置
flash('aaa')
# 如何取
get_flashed_message()

# 分类放
flash('超时错误', category="x1")
# 分类取
data = get_flashed_messages(category_filter=['x1'])
相关推荐
深蓝AI21 分钟前
JWT 不是登录方案:三种登录态架构怎么选
后端
starzy199034 分钟前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
卷无止境1 小时前
凌晨三点的绿灯
后端
excel2 小时前
基于 GPT 的自动发布文章接口方案:从一句话或一张图片生成并发布内容
前端·javascript·后端
风若飞4 小时前
Spring Ai 入门遇到问题1
java·后端·spring
AI入职记5 小时前
Spring AI 结构化输出:结构 100% 通过,严格准确率只有 57%
后端·ai编程
aZhe的全栈知识分享5 小时前
AI 还原 Figma 效果总达不到预期?先别急着让它写代码
前端·后端·面试
码事漫谈5 小时前
WorkBuddy 一直更新卡死?两个毛病,一套处理办法
后端
函数小陈5 小时前
阿里云部署DSH与RAM完成运维
前端·后端
aurora_zjj5 小时前
一次持续 3 年的 OpenResty 死循环排查:最终定位到 LuaJIT ARM64 的一条汇编指令
后端