栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django之信号

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django之信号

1.目录结构

2.在Django/singals.py目录下编写 

# 系统自带的信号
from django.core.signals import request_finished
from django.db.models.signals import pre_save,post_save
from django.dispatch import receiver

@receiver(pre_save)
def pre_save_func(sender,**kwargs):
    print("pre_save_func")
    print("pre_save_msg:",sender,kwargs)

@receiver(post_save)
def post_save_func(sender,**kwargs):
    print("post_save_func")
    print("post_save_msg:",sender,kwargs)

@receiver(request_finished)
def callback(sender, **kwargs):
    print("Request finished!")

# 自定义信号
import django.dispatch

# providing_args是发送信号时传递给的参数,最后都会被kwargs接收
custom_signal=django.dispatch.Signal(providing_args=["aaaa","bbbb"])
def pre_save_func2(sender,**kwargs):
    print("pre_save_func")
    print("pre_save_msg:",sender,kwargs)
custom_signal.connect(pre_save_func2)



3.将custom_signal自定义信号对象加入到Django/__init__.py中

4.自定义的需要手动触发信号,系统自带的,会自动触发

响应结果结果:

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号