一、安裝:預設跟隨flask一起安裝
pip install blinker
二、自定義訊號
第一步:定義訊號
from blinker importnamespace
ns =namespace()
fire_signal = ns.signal('
fire
')
第二步:監聽訊號
deffire_func(sender):
print("
傳送訊號者
",sender)
print("
觸發了fire_signal訊號")
fire_signal.connect(fire_func)
第三步:傳送訊號
fire_signal.send()
舉個梨子:登陸資訊記錄
from flask importflask,request,g
import
signals)'
/login')
deflogin():
u = request.args.get('u'
)
ifu:
g.u =u
signals.login_signal.send()
return
'登陸成功
'return
'登陸失敗''
/')def
index():
return'首頁
'if__name__ == '
__main__':
signals.py
from blinker import
namespace
from datetime import
datetime
from flask import
request,g
#建立訊號
ns =namespace()
login_signal = ns.signal('
login')
deflogin_log(sender):
now =datetime.now()
ip =request.remote_addr
print("
".format(g.u,now,ip))
#監聽訊號
login_signal.connect(login_log)
三、內建訊號
舉個梨子
from flask import
flask,template_rendered,render_template,got_request_exception
)def
template_rendered_func(sender,template,context):
"""
"""print("
sender:
",sender)
print("
template:
",template)
print("
context:
",context)
template_rendered.connect(template_rendered_func)
def got_request_exception_func(sender,*args,**kwargs):
""" kwargs:
"""print("
sender:
", sender)
print("
args:
", args)
print("
kwargs:
", kwargs)
got_request_exception.connect(got_request_exception_func)'/
')defindex():
a = 1/0
return render_template('
index.html
',a=a)
if__name__ == '
__main__':
第十七周總結
周工作總結及計畫表 部 門 理工大學 姓 名 冉濤 入 職 時 間 2015.7.5 本週已完成工作內容及總結 1 基本完成課程設計要求的三道題目,但還有一些小地方沒有做好,主要是在一些異常處理方面,主要是從控制台輸入時的型別轉換異常,以及gui介面的輸入為空的異常和型別轉換異常。2 課程設計的第四...
JAVA第十七課
一 序列化與反序列化 序列化是將物件的狀態寫入特定的流中的過程 反序列化則是從特定的流中獲取資料重新構建物件的過程 二 實現序列化的步奏 1 實現serilizable介面。2 建立物件輸出流 3 呼叫writeobject 方法將物件寫入檔案 4 關閉物件輸出流 三 常見異常 notseriali...
第十七周總結
本週主要學習了spring框架和mybatis框架,接觸到框架後最大的感觸就是原來 編寫可以變得如此簡便,之前複雜的編寫過程被簡化了許多,專案的開發效率自然也得到極大提公升。感覺在spring的學習中最大的困難是對這種框架模式的理解,學了一天到最後也不知道spring到底是什麼,可以用來幹什麼,怎麼...