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

  • 相关阅读:
    javascript 延迟
    ashx获取另一个页面的返回内容
    Handler实现数据模板
    font-face 在 Firefox无法正常工作问题
    离线缓存 manifest
    事件 event
    源码学习
    调试
    Icon font font face
    aria-label
  • 原文地址:https://www.cnblogs.com/itxb/p/8638659.html
Copyright © 2020-2023  润新知