zoukankan      html  css  js  c++  java
  • flask内置的信号

    from flask import Flask,request,template_rendered,render_template,got_request_exception
    from signals import login_signals
    from blinker import Namespace #信号
    
    # namespace = Namespace()#实例化一个对象
    # fire_signal = namespace.signal('fire') #定义一个信号
    #
    #
    # #监听信号
    # def fire_bullet(sender):
    #     print(sender)
    #     print('start fire bullet')
    #
    # fire_signal.connect(fire_bullet)#监听这个信号,有信号就执行这个函数
    #
    #
    # #发送一个信号
    # fire_signal.send()
    
    
    #实际情况使用场景:定义一个登录的信号,以后用户登录进来以后
    #就发送一个登录信号,然后能够监听这个信号
    #在监听到这个信号以后,就记录当前这个用户登录的信息
    #用信号的方式,记录用户的登录信息
    
    
    app = Flask(__name__)
    
    
    def template_rendered_func(sender,template,context):
        print('sender:',sender)
        print('template:',template)
        print('context:',context)
    template_rendered.connect(template_rendered_func)#flask内置的信号,模板渲染的信号
    
    
    def request_exception_log(sender,*args,**kwargs):
        print(sender)
        print(args)
        print(kwargs)
    got_request_exception.connect(request_exception_log)#视图函数请求发生异常,就触发这个信号
    
    @app.route('/signal/')
    def template_signal():
        return render_template('signal_template.html')#只要渲染模板,模板信号就会自动发送

  • 相关阅读:
    构建之法第九章
    九周总结学习笔记
    第一阶段对各组评价
    冲刺二阶段第八天
    冲刺二阶段第七
    冲刺二阶段第六天
    冲刺二阶段第五天
    构建之法第八章
    冲刺二阶段第四天
    冲刺二阶段第三天
  • 原文地址:https://www.cnblogs.com/wuheng-123/p/9752724.html
Copyright © 2011-2022 走看看