zoukankan      html  css  js  c++  java
  • 闪现

    一、闪现

    闪现:闪现解决的问题,假设在a页面操作出错,c页面(操作了多少页面我都不管),跳转到b页面,在b页面显示a页面错误信息;

    Flask 提供了一个非常简单的方法来使用闪现系统向用户反馈信息。闪现系统使得在一个请求结束的时候记录一个信息,然后在且仅仅在下一个请求中访问这个数据,强调flask闪现是基于flask内置的session的,利用浏览器的session缓存闪现信息。所以必须设置secret_key

    """
    闪现:
    闪现解决的问题,假设在a页面操作出错,c页面(操作了多少页面我都不管),跳转到b页面,在b页面显示a页面错误信息
    
    """
    
    from flask import Flask, flash, get_flashed_messages, request, redirect
    
    app = Flask(__name__)
    
    app.secret_key = 'keykeykey'
    
    
    @app.route('/index')
    def index():
        flash("超时错误")
    
        flash("分类flash", category="分类名称")
    
        # 直接
        return redirect('/error1')
    
    
    @app.route('/error')
    def error():
        return "error ok"
    
    
    @app.route('/error1')
    def error1():
        """
        展示错误信息
        :return:
    
        如果get_flashed_messages(with_category=True)
        """
    
        data = get_flashed_messages(with_categories=True, category_filter=("分类名称",))
        data2 = get_flashed_messages()
        print(data)
        print(data2)
        return "error2"
    
    
    @app.route('/error2')
    def error2():
        data = get_flashed_messages()
    
        print("eeror2", data)
    
        return "ok1"
    
    
    if __name__ == '__main__':
        app.run()
    
    

    总结:

    1. 用于页面的跳转

    2. 源码分析

      # flash函数
      def flash(message, category="message"):
        	"""
        	这里面将分类的信息放在列表的前面,然后将错误描述信息放在后面,flashes.append()
        	"""
          flashes = session.get("_flashes", [])
          flashes.append((category, message))
          session["_flashes"] = flashes
          message_flashed.send(
              current_app._get_current_object(), message=message, category=category
          )
      # 获取错误信息
      def get_flashed_messages(with_categories=False, category_filter=()):
        
           if category_filter:
                # 获取固定分类下面的错误信息
              flashes = list(filter(lambda f: f[0] in category_filter, flashes))
          if not with_categories:
              # 没有分类则将全部的错误信息进行返回
              return [x[1] for x in flashes]
          return flashes
      
  • 相关阅读:
    android app压力测试(二)——monkey测试结果分析
    android app压力测试(一)---monkey介绍及基本使用
    如何根据apk文件获取包名
    adb常用命令
    APP的安装卸载测试
    unittest生成html测试报告
    python,向已经存在数据的excel中添加数据
    HTTP协议简介
    jmeter如何确定ramp-up时间
    jmeter分布式压测
  • 原文地址:https://www.cnblogs.com/randysun/p/15518203.html
Copyright © 2011-2022 走看看