Flash中的消息闪现,在官方的解释是用来给用户做出反馈。不过实际上这个功能只是一个记录消息的方法,在某一个请求中记录消息,在下一个请求中获取消息,然后做相应的处理,也就是说flask只存在于两个相邻的请求中“闪现”,第三次请求就不存在这个flash了。
下面我们用一个例子来说明一个是如何“闪”的。
首先引入flash和get_flashed_message方法
from flask import Flask,url_for,render_template,request,make_response,session, \
flash,get_flashed_messages
然后我们定义两个方法,一个用于记录flash,一个用于显示flash。
@app.route("/addflash")
def addFlash():
flash("bling bling")
return "added a flash" @app.route("/getFlash/")
def getFlash():
msgs = get_flashed_messages()
msgStr = ""
for msg in msgs:
msgStr += msg+","
return msgStr
然后我们运行程序,先访问/addflash这个地址,效果如下:
按代码的逻辑,此时应该是记录了一个bling bling的flash,然后我们在/getFlash中获取这个flash。
可以看到,我们获取到了bling bling这个flash.按上面所说,这个flash只存在于两次相临的请求中,那就是说,如果我们刷新一个/getFlash,重新发起一个请求的时候,bling bling这个flash应该是获取不到,下面我们刷新页面来做一下验证,刷新后效果如下:
页面一片空白,说明bling bling这个flash的确是没有被本次请求获取到。
对于flash还有一个type的参数,可以用来处理不同类型的flash,具体的应用可以参考官方文档:
http://docs.jinkan.org/docs/flask/patterns/flashing.html#message-flashing-pattern
再深入一层,我们进到flash的定义中会发现,其实flash底层是用session实现的。
python web开发-flask中消息闪现flash的应用的更多相关文章
-
python web开发-flask中日志的使用
Flask使用日志记录的方式: 初始化flask应用实例 在flask中使用logger,需要初始化一个flask的应用 app = Flask(__name__) 2. 调用logger 直接调用l ...
-
python web开发-flask中response,cookies,session对象使用详解
Response响应对象: 当一个web请求被服务器处理完后,会返回用户请求的响应,这时候就要用到响应对象,根据响应给用户的形式不同,响应对象有以下几种处理方式 如果返回的是一个合法的响应对象,它会从 ...
-
python web开发-flask中sqlalchemy的使用
SqlAlchemy是一个python的ORM框架. 在flask中有一个flask-sqlalchemy的扩展,使用起来很方便. 1. 创建一个sqlalchemy的Model模块 创建 ...
-
python web开发-flask中的url带斜线和不带斜线区别详解
通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url&qu ...
-
python web开发-flask访问请求数据request
Request对象在web应用的开发中是一个非常重要的对象,主要用来获取用户发来的请求数据. 常用属性参考:http://docs.jinkan.org/docs/flask/api.html#fla ...
-
python web开发-flask连接sqlite数据库
在之前的文章中我们介绍了如何在centOS中安装sqlite数据库. Sqlite安装完成后,本节就用flask来连接和操作sqlite数据库. 1. 数据准备 先在sqlite3中创建一 ...
-
python web开发-flask读取txt文件内容
某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...
-
python web开发flask框架 安装与环境
# encoding:utf-8 # 从flask这个框架中导入Flask这个类 from flask import Flask # 初始化一个Flask对象 # Flasks() # 需要传递一个参 ...
-
python web开发-flask调试模式
使用run()方式可以启动flask应用,但是每次修改代码之后,需要重新启动,这样对于调试就很不太方便.Flask的调试模式可以让代码在每次修改之后自动载入. 有两种方法可以启用flask的调试模式 ...
随机推荐
-
学习js 优先级
以前很少关注js优先级 主要哦是技术菜鸟老加班没时间技术菜鸟 最重要的是记不住特点.......... 1级 . [] () 字段访问.数组索引.函数调用和表达式分组 通过观察可以发现 . 字段访问- ...
-
iOS 统计App 的代码总行数
打开Terminal,cd 到项目的根目录下,输入以下命令 find . -name "*.m" -or -name "*.mm" -or -name &quo ...
-
Bootstrap学习笔记系列7-----Bootstrap简单背景CSS及其他辅助类
背景 通过添加下列类,可以快捷的变换背景颜色,如果是链接的话,鼠标移动上去会变暗 bg-primary 被修饰元素将会应到primary类,显示吃淡蓝色,文本颜色会变成白色. bg-success 被 ...
-
1.单件模式(Singleton Pattern)
意图:为了保证一个类仅有一个实例,并提供一个访问它的全局访问点. 1.简单实现(多线程有可能产生多个实例) public class CommonSigleton { /// <summary& ...
-
Understanding Spring Web Application Architecture: The Classic Way--转载
原文地址:http://www.petrikainulainen.net/software-development/design/understanding-spring-web-applicatio ...
-
relative、absolute和float
relative.absolute和float position:relative和position:absolute都可以改变元素在文档中的位置,都能激活元素的left.top.right.bo ...
-
实现ios常见菜单效果的思路
眼下见过的实现边側菜单的效果.比較流行的有下面三种:(效果图) 1.菜单条覆盖在部分主视图上 附上实现该效果的一个不错的源代码地址: http://code4app.com/ios/RNFrosted ...
-
Jquery中使用setInterval和setTimeout 容易犯的低级错误
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
-
mybatis 中的 update 返回值你真的明白吗
记录源地址:https://www.jianshu.com/p/80270b93082a
-
MySQL 分页数据错乱重复
select xx from table_name wheere xxx order by 字段A limit offset;, 表数据总共 48 条,分页数量正常,但出现了结果混杂的情况,第一页的数 ...