码迷,mamicode.com
首页 > 其他好文 > 详细

Django signal 信号机制的使用

时间:2018-10-16 13:56:56      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:对象   connect   mod   数据库   rem   模板   方法   ini   函数   

Django中提供了"信号调度",用于在框架执行操作时解耦.

一些动作发生的时候,系统会根据信号定义的函数执行相应的操作

一.Django中内置的 signal 类型主要包含以下几种

1.Model_signals

pre_init                        # Django中的model对象执行其构造方法前,自动触发
post_init                       # Django中的model对象执行其构造方法后,自动触发
pre_save                        # Django中的model对象保存前,自动触发
post_save                       # Django中的model对象保存后,自动触发
pre_delete                      # Django中的model对象删除前,自动触发
post_delete                     # Django中的model对象删除后,自动触发
m2m_changed                     # Django中的model对象使用m2m字段操作数据库的第三张表(add,remove,clear,update),自动触发
class_prepared                  # 程序启动时,检测到已注册的model类,对于每一个类,自动触发

2.Managemeng_signals

pre_migrate                     # 执行migrate命令前,自动触发
post_migrate                    # 执行migrate命令后,自动触发 

3.Request/response_signals

request_started                 # 请求到来前,自动触发
request_finished                # 请求结束后,自动触发
got_request_exception           # 请求异常时,自动触发

4.Test_signals

setting_changed                 # 配置文件改变时,自动触发
template_rendered               # 模板执行渲染操作时,自动触发

5.Datebase_Wrapperd

connection_created              # 创建数据库连接时,自动触发

 

二.对于Django内置的信号,仅需注册指定信号,当程序执行相应操作时,系统会自动触发注册函数

在某个应用(app)目录下的__init__.py文件中

from django.db.models

 

 

 

 

 

 

Django signal 信号机制的使用

标签:对象   connect   mod   数据库   rem   模板   方法   ini   函数   

原文地址:https://www.cnblogs.com/lowmanisbusy/p/9797127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!