位置: 编程技术 - 正文
推荐整理分享Django的信号机制详解(django的工作原理),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:django的drf,django 信号,django 信号,django的drf,django通信,django通信,django原理,django通信,内容如对您有帮助,希望把文章链接给更多的朋友!
Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。
Django内置了一些信号,比如:
我们要做的,就是注册一个receiver函数。例如,如果要在每次请求完成之后,打印一行字。
可以使用回调的方式注册:
也可以使用装饰器的方式注册,下面这段代码和上面完全是等价的。
receiver回调函数除了可以使用sender之外,还可以使用其他一些参数,比如针对pre_save函数:
sender:发送者(如果是pre_save的话,就是model class)instance:实例rawusingupdate_fieldspost_save()是一个比较实用函数,可以支持一些联动的更新。而不必让我们每次都写在view里面。比如:有用户提交了退款申请,我们需要把订单的状态修改成“已退款”的状态。就可以使用信号机制,而不必在每处都修改。
当然,这里可以写的更多更周全,例如退款单取消改回状态等。
观察者是非常实用的一个设计模式,Django也支持用户 自定义 一些信号。
Python中异常重试的解决方案详解 前言大家在做数据抓取的时候,经常遇到由于网络问题导致的程序保存,先前只是记录了错误内容,并对错误内容进行后期处理。原先的流程:defcrawl_pa
Python部署web开发程序的几种方法 1、fastcgi,通过flup模块来支持,在nginx里对应的配置指令是fastcgi_pass2、http,nginx使用proxy_pass转发,这个要求后端appplication必须内置一个能处理高并发的htt
Python实现统计文本文件字数的方法 本文实例讲述了Python实现统计文本文件字数的方法。分享给大家供大家参考,具体如下:统计文本文件的字数,从当前目录下的file.txt取文件#-*-coding:GBK-
标签: django的工作原理
本文链接地址:https://www.jiuchutong.com/biancheng/375620.html 转载请保留说明!友情链接: 武汉网站建设