zoukankan      html  css  js  c++  java
  • 22、Flask实战第22天:Flask信号

    Flask中的信号使用的是一个第三方插件blinker。通过pip list看一下是否安装,如果没有,则使用如下命令安装

    pip install blinker

    自定义信号

    自定义信号分为3步: ①定义一个信号--->②监听一个信号--->③发送一个信号

    我们来用信号完成:当用户登录网站的时候,把用户登录日志记录到数据库中

    我们创建一个singles.py来定义监听信号

    在login视图发送信号

    在浏览器中访问模拟登录

    查看数据库已经记录了一条日志了

    这种情况下,我们还可以用前面学到的g对象来优化下代码

    Flask内置的信号

     导入其中一个内置的信号,按住ctrl点击就可以看到所有内置的信号了

    1. template_rendered:模版渲染完成后的信号。
    2. before_render_template:模版渲染之前的信号。
    3. request_started:模版开始渲染。
    4. request_finished:模版渲染完成。
    5. request_tearing_down:request对象被销毁的信号。
    6. got_request_exception:视图函数发生异常的信号。一般可以监听这个信号,来记录网站异常信息。
    7. appcontext_tearing_down:app上下文被销毁的信号。
    8. appcontext_pushed:app上下文被推入到栈上的信号。
    9. appcontext_popped:app上下文被推出栈中的信号
    10. message_flashed:调用了Flask的`flashed`方法的信号。

    这里演示下got_request_exception

    可以看到有exception参数,因此我们可以只记录异常信息

  • 相关阅读:
    mina 字节数组编解码器的写法 I
    latex编写论文
    HTML学习
    Apache Mina Filter
    静态循环队列的相关操作及详解
    hdu1242 Rescue(BFS +优先队列 or BFS )
    让我们区分质量保证与测试
    新玩的windows phone app studio
    Pylons安装苦逼之路
    [置顶] js 实现 <input type="file" /> 文件上传
  • 原文地址:https://www.cnblogs.com/sellsa/p/9384792.html
Copyright © 2011-2022 走看看