最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django框架 信號調度原理解析

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

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

Django內置信號

Model signals
  pre_init          # django的modal執(zhí)行其構造方法前,自動觸發(fā)
  post_init          # django的modal執(zhí)行其構造方法后,自動觸發(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      # 請求結束后,自動觸發(fā)
  got_request_exception    # 請求異常后,自動觸發(fā)
Test signals
  setting_changed       # 使用test測試修改配置文件時,自動觸發(fā)
  template_rendered      # 使用test測試渲染模板時,自動觸發(fā)
Database Wrappers
  connection_created     # 創(chuàng)建數(shù)據庫連接時,自動觸發(fā)

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

示例:

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

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

def before_save2(*args,**kwargs):
  print('有車來了,我要服務了--》',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)

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python使用imagehash庫生成ahash算法的示例代碼

    Python使用imagehash庫生成ahash算法的示例代碼

    aHash、pHash、dHash是常用的圖像相似度識別算法,本文將利用Python中的imagehash庫生成這一算法,從而實現(xiàn)計算圖片相似度,感興趣的可以了解一下
    2022-11-11
  • Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結

    Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結

    哈沙德數(shù)(Harshad?Number),又稱Niven數(shù),是指一個自然數(shù),它可以被它的各位數(shù)字之和整除,本文將探討如何使用多種不同的方法來判斷一個數(shù)字是否是哈沙德數(shù),感興趣的可以了解下
    2024-01-01
  • PyQt6中自定義浮點型滑塊類的實現(xiàn)

    PyQt6中自定義浮點型滑塊類的實現(xiàn)

    在PyQt6中,滑塊是常用的用戶界面元素之一,用于選擇數(shù)值范圍,本文主要介紹了PyQt6中自定義浮點型滑塊類的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • python爬蟲工具例舉說明

    python爬蟲工具例舉說明

    在本篇文章里小編給大家整理的是一篇關于python爬蟲工具例舉說明內容,有興趣的朋友們可以學習下。
    2020-11-11
  • 使用Python編寫Prometheus監(jiān)控的方法

    使用Python編寫Prometheus監(jiān)控的方法

    今天小編就為大家分享一篇關于使用Python編寫Prometheus監(jiān)控的方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 對python for 文件指定行讀寫操作詳解

    對python for 文件指定行讀寫操作詳解

    今天小編就為大家分享一篇對python for 文件指定行讀寫操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python遞歸下載文件夾下所有文件

    python遞歸下載文件夾下所有文件

    這篇文章主要為大家詳細介紹了python遞歸下載文件夾下所有文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python學生信息管理系統(tǒng)(完整版)

    python學生信息管理系統(tǒng)(完整版)

    這篇文章主要為大家詳細介紹了python學生信息管理系統(tǒng)的完整版本代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 10個Python實現(xiàn)的最頻繁使用的聚類算法

    10個Python實現(xiàn)的最頻繁使用的聚類算法

    聚類或聚類分析是無監(jiān)督學習問題。它通常被用作數(shù)據分析技術,用于發(fā)現(xiàn)數(shù)據中的有趣模式。本文為大家介紹了10個最頻繁使用的聚類算法,感興趣的可以了解一下
    2022-12-12
  • python+numpy實現(xiàn)的基本矩陣操作示例

    python+numpy實現(xiàn)的基本矩陣操作示例

    這篇文章主要介紹了python+numpy實現(xiàn)的基本矩陣操作,結合實例形式分析了Python使用numpy模塊針對矩陣進行創(chuàng)建、增刪查改、索引、運算相關操作實現(xiàn)技巧,注釋中包含有詳細的說明,需要的朋友可以參考下
    2019-07-07

最新評論

石阡县| 宁河县| 如皋市| 佳木斯市| 甘肃省| 西华县| 娄底市| 丰顺县| 和林格尔县| 竹溪县| 诏安县| 新密市| 安陆市| 四平市| 沙田区| 抚顺县| 安宁市| 霞浦县| 额敏县| 高尔夫| 山阳县| 荣昌县| 济南市| 保德县| 惠东县| 正镶白旗| 腾冲县| 台山市| 屯留县| 个旧市| 阳新县| 霍城县| 介休市| 金溪县| 青铜峡市| 天长市| 哈密市| 武邑县| 潢川县| 南川市| 元阳县|