Flask框架信號(hào)用法實(shí)例分析
本文實(shí)例講述了Flask框架信號(hào)用法。分享給大家供大家參考,具體如下:
項(xiàng)目功能復(fù)雜,代碼量越大,就越需要做業(yè)務(wù)解耦。否則在其之上做開(kāi)發(fā)和維護(hù)是很痛苦的,尤其是對(duì)于團(tuán)隊(duì)的新人。Flask從0.6開(kāi)始,通過(guò)Blinker提供了信號(hào)支持。信號(hào)就是在框架核心功能或者一些Flask擴(kuò)展發(fā)生工作時(shí)所發(fā)送的通知,用于幫助你解耦應(yīng)用。
Blinker的使用
安裝
pip install blinker
Blinker的信號(hào)與接收方式
from blinker import signal s = signal("test start") def each(round): print("each {}".format(round)) def round_two(round): print("round {}".format(round)) s.connect(each) s.connect(round_two,sender=2) # 表示值為2的時(shí)候才會(huì)接收信號(hào) for index in range(1,4): s.send(index)
打印結(jié)果:
each 1
each 2
round 2
each 3
或者簡(jiǎn)寫成:
from blinker import signal s = signal("test start") @s.connect def each(round) print("each {}".format(round))
Flask中內(nèi)置信號(hào)
- flask.template_rendered:模板渲染成功的時(shí)候發(fā)送,這個(gè)信號(hào)與模板實(shí)例
template
上下文的字典一起調(diào)用。 - flask.request_started:建立請(qǐng)求上下文后,在請(qǐng)求處理開(kāi)始前發(fā)送,訂閱者可以用
request
之類的標(biāo)準(zhǔn)代理訪問(wèn)請(qǐng)求。 - flask.request_finished:在響應(yīng)發(fā)送給客戶端之前發(fā)送,可以傳遞
reponse
。 - flask.got_request_exception:在請(qǐng)求處理中拋出異常時(shí)發(fā)送,異常本身會(huì)通過(guò)
execption
傳遞到訂閱函數(shù)。 - flask.request_tearing_down:在請(qǐng)求銷毀時(shí)發(fā)送,它總是被調(diào)用,即使發(fā)生異常。
- flask.appcontext_tearing_down:在應(yīng)用上下文銷毀時(shí)發(fā)送,它總是被調(diào)用,即使發(fā)生異常。
希望本文所述對(duì)大家基于flask框架的Python程序設(shè)計(jì)有所幫助。
- 詳解Python的Flask框架中的signals信號(hào)機(jī)制
- Flask框架URL管理操作示例【基于@app.route】
- 詳解flask表單提交的兩種方式
- Flask框架各種常見(jiàn)裝飾器示例
- Python2.7環(huán)境Flask框架安裝簡(jiǎn)明教程【已測(cè)試】
- Python Web框架Flask下網(wǎng)站開(kāi)發(fā)入門實(shí)例
- Python的Flask框架中@app.route的用法教程
- 在Linux上安裝Python的Flask框架和創(chuàng)建第一個(gè)app實(shí)例的教程
- 30分鐘搭建Python的Flask框架并在上面編寫第一個(gè)應(yīng)用
相關(guān)文章
Django中如何防范CSRF跨站點(diǎn)請(qǐng)求偽造攻擊的實(shí)現(xiàn)
這篇文章主要介紹了Django中如何防范CSRF跨站點(diǎn)請(qǐng)求偽造攻擊的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04使用Python批量刪除MySQL數(shù)據(jù)庫(kù)的全部外鍵
這篇文章主要為大家詳細(xì)介紹了如何使用Python批量刪除MySQL數(shù)據(jù)庫(kù)的全部外鍵,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04python 統(tǒng)計(jì)文件中的字符串?dāng)?shù)目示例
今天小編就為大家分享一篇python 統(tǒng)計(jì)文件中的字符串?dāng)?shù)目示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python 實(shí)現(xiàn)兩個(gè)npy檔案合并
這篇文章主要介紹了python 實(shí)現(xiàn)兩個(gè)npy檔案合并,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07使用opencv中匹配點(diǎn)對(duì)的坐標(biāo)提取方式
這篇文章主要介紹了使用opencv中匹配點(diǎn)對(duì)的坐標(biāo)提取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python機(jī)器學(xué)習(xí)deepchecks庫(kù)訓(xùn)練檢查模型特點(diǎn)探索
這篇文章主要介紹了python機(jī)器學(xué)習(xí)deepchecks庫(kù)的訓(xùn)練檢查模型特點(diǎn)實(shí)例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01