flask内置的信号

Posted wuheng-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)#只要渲染模板,模板信号就会自动发送

技术分享图片

 

以上是关于flask内置的信号的主要内容,如果未能解决你的问题,请参考以下文章

flask_day05:信号 Django信号 flask-script sqlalchemy 创建操作数据表

flask-信号

Flask 信号

flask 信号

Flask-信号

Flask-信号