欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django框架 信號調(diào)度原理解析

 更新時間:2019年09月04日 09:42:00   作者:高~雅  
這篇文章主要介紹了Django框架 信號調(diào)度原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

Django中提供了“信號調(diào)度”,用于在框架執(zhí)行操作時解耦。通俗來講,就是一些動作發(fā)生的時候,信號允許特定的發(fā)送者去提醒一些接受者。

Django內(nèi)置信號

Model signals
  pre_init          # django的modal執(zhí)行其構(gòu)造方法前,自動觸發(fā)
  post_init          # django的modal執(zhí)行其構(gòu)造方法后,自動觸發(fā)
  pre_save          # django的modal對象保存前,自動觸發(fā)
  post_save          # django的modal對象保存后,自動觸發(fā)
  pre_delete         # django的modal對象刪除前,自動觸發(fā)
  post_delete         # django的modal對象刪除后,自動觸發(fā)
  m2m_changed         # django的modal中使用m2m字段操作第三張表(add,remove,clear)前后,自動觸發(fā)
  class_prepared       # 程序啟動時,檢測已注冊的app中modal類,對于每一個類,自動觸發(fā)
Management signals
  pre_migrate         # 執(zhí)行migrate命令前,自動觸發(fā)
  post_migrate        # 執(zhí)行migrate命令后,自動觸發(fā)
Request/response signals
  request_started       # 請求到來前,自動觸發(fā)
  request_finished      # 請求結(jié)束后,自動觸發(fā)
  got_request_exception    # 請求異常后,自動觸發(fā)
Test signals
  setting_changed       # 使用test測試修改配置文件時,自動觸發(fā)
  template_rendered      # 使用test測試渲染模板時,自動觸發(fā)
Database Wrappers
  connection_created     # 創(chuàng)建數(shù)據(jù)庫連接時,自動觸發(fā)

對于Django內(nèi)置的信號,僅需注冊指定信號,當(dāng)程序執(zhí)行相應(yīng)操作時,自動觸發(fā)注冊函數(shù):

示例:

#在model表中添加/刪除記錄時執(zhí)行響應(yīng)的方法
from django.db.models import signals

def before_save1(*args,**kwargs):
  print('有車來了,我要服務(wù)了--》',args,kwargs)

def before_save2(*args,**kwargs):
  print('有車來了,我要服務(wù)了--》',args,kwargs)

def after_save1(*args,**kwargs):
  print('有車來了,完事了--》',args,kwargs)

signals.pre_save.connect(before_save1)
signals.pre_save.connect(before_save2)
signals.post_save.connect(after_save1)

自定義信號

定義信號

import django.dispatch
pizza_done = django.dispatch.Signal(providing_args=["toppings", "size"])

注冊信號

def callback(sender, **kwargs):
  print("callback")
  print(sender,kwargs)
pizza_done.connect(callback) 

觸發(fā)信號

from 路徑 import pizza_done
pizza_done.send(sender='seven',toppings=123, size=456)

由于內(nèi)置信號的觸發(fā)者已經(jīng)集成到Django中,所以其會自動調(diào)用,而對于自定義信號則需要開發(fā)者在任意位置觸發(fā)。 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 對圖片進行簡單的處理

    python 對圖片進行簡單的處理

    介紹一些圖片處理的Python代碼,有了這些處理代碼,我們可以很方便的處理一些圖片,Python這里處理圖片一般都使用Pillow包,有此需求的朋友可以參考下
    2021-06-06
  • Python?Fire實現(xiàn)自動生成命令行接口

    Python?Fire實現(xiàn)自動生成命令行接口

    命令行程序是平時寫一些小工具時最常用的方式,隨著命令行程序功能的豐富,也就是參數(shù)多了以后,解析和管理參數(shù)之間的關(guān)系會變得越來越繁重,而本次介紹的?Fire?庫正好可以解決這個問題,下面我們就來看看具體實現(xiàn)方法吧
    2023-09-09
  • 基于Python實現(xiàn)將列表數(shù)據(jù)生成折線圖

    基于Python實現(xiàn)將列表數(shù)據(jù)生成折線圖

    這篇文章主要介紹了如何利用Python中的pandas庫和matplotlib庫,實現(xiàn)將列表數(shù)據(jù)生成折線圖,文中的示例代碼簡潔易懂,需要的可以參考一下
    2022-03-03
  • Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中的實現(xiàn)方法

    Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中的實現(xiàn)方法

    這篇文章主要介紹了Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中,通過這個腳本,我們就可以把專業(yè)dephi程序分析的結(jié)果,轉(zhuǎn)移到IDA專業(yè)逆向代碼分析的平臺,實現(xiàn)聯(lián)動,需要的朋友可以參考下
    2022-08-08
  • python適合人工智能的理由和優(yōu)勢

    python適合人工智能的理由和優(yōu)勢

    在本篇文章里小編給大家分享了關(guān)于python適合人工智能的理由和優(yōu)勢以及相關(guān)知識點,需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • python調(diào)用opencv實現(xiàn)貓臉檢測功能

    python調(diào)用opencv實現(xiàn)貓臉檢測功能

    這篇文章主要介紹了python調(diào)用opencv實現(xiàn)貓臉檢測功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python注釋和運算符詳解

    python注釋和運算符詳解

    這篇文章主要為大家介紹了python注釋和運算符,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 使用?OpenCV?開發(fā)虛擬鍵盤的方法

    使用?OpenCV?開發(fā)虛擬鍵盤的方法

    OpenCV是一個強大的圖像處理工具,用于機器學(xué)習(xí)、圖像處理等的跨平臺開源庫,用于開發(fā)實時計算機視覺應(yīng)用程序,本文重點給大家介紹使用?OpenCV?開發(fā)虛擬鍵盤的方法,感興趣的朋友一起看看吧
    2021-11-11
  • python 點云地面點濾波-progressive TIN densification(PTD)算法介紹

    python 點云地面點濾波-progressive TIN densification(PTD)算法介紹

    關(guān)于地面點濾波的概念我們要與孤立點(outlier)濾波區(qū)分開,孤立點濾波可以理解為圖像中的去噪,去除數(shù)據(jù)測量過程中受到飛鳥、多路徑效應(yīng)所產(chǎn)生的遠低于/高于其他數(shù)據(jù)的點。今天通過本文給大家分享python PTD點云地面點濾波的相關(guān)知識,一起看看吧
    2021-08-08
  • 利用python清除移動硬盤中的臨時文件

    利用python清除移動硬盤中的臨時文件

    本篇文章的目的是在移動硬盤插入到電腦的同時,利用Python自動化和Windows服務(wù)刪除掉這些臨時文件。感興趣的朋友可以了解下
    2020-10-10

最新評論