zoukankan      html  css  js  c++  java
  • python web开发-flask中消息闪现flash的应用

    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实现的。

  • 相关阅读:
    图形设计 X11
    软件安装 RPM SRPM YUM
    如何将excel表格中的纯数字删掉 空白行,然后删除
    考试机
    程序编译与运行
    基础设定与备份策略
    开机流程 模块管理 Loader
    让所有Excel数据格全部乘 某个数
    转:JDK1.8-Stream()使用详解
    转:IK分词原理
  • 原文地址:https://www.cnblogs.com/itxb/p/8638659.html
Copyright © 2011-2022 走看看