flask - 信号

pip3 install blinker

 

# 请求到来前执行
request_started = _signals.signal('request-started')                '
# 请求结束后执行
request_finished = _signals.signal('request-finished')              
# 模板渲染前执行
before_render_template = _signals.signal('before-render-template')  
# 模板渲染后执行
template_rendered = _signals.signal('template-rendered')            
# 请求执行出现异常时执行
got_request_exception = _signals.signal('got-request-exception')    
# 请求执行完毕后自动执行(无论成功与否)
request_tearing_down = _signals.signal('request-tearing-down')

---------------------------离线脚本-------------------
# 请求上下文执行完毕后自动执行(无论成功与否)
appcontext_tearing_down = _signals.signal('appcontext-tearing-down'
# 请求上下文push时执行 appcontext_pushed = _signals.signal('appcontext-pushed') # 请求上下文pop时执行 appcontext_popped = _signals.signal('appcontext-popped')
# 调用flask在其中添加数据时,自动触发 message_flashed = _signals.signal('message-flashed')

 

 

from flask import Flask
from flask import signals
app = Flask(__name__)
def x1(arg):
    print(1)
    print(arg)
signals.request_started.connect(x1)
@app.before_request
def x2():
    print(2)
@app.route("/")
def index():
    print(3)
    return "ok"
if __name__ == '__main__':
    app.run()

信号无返回值,可以做访问ip限制

 

 

http://www.cnblogs.com/wupeiqi/articles/8249576.html

posted @ 2018-10-10 13:05  慕沁  阅读(145)  评论(0)    收藏  举报