django.db.models.signals.pre_save 在某个Model保存之前调用 django.db.models.signals.post_save 在某个Model保存之后调用 django.db.models.signals.pre_delete 在某个Model删除之前调用 django.db.models.signals.post_delete 在某个Model删除之后调用 django.core.signals.request_started 在建立Http请求时发送 django.core.signals.request_finished 在关闭Http请求时发送
# receiver
def my_callback(sender, **kwargs):
print("Request finished!")
# connect
from django.core.signalsimport request_finished
request_finished.connect(my_callback) from django.core.signalsimport request_finished
from django.dispatchimport receiver
@receiver(request_finished)
def my_callback(sender, **kwargs):
print("Request finished!") @receiver(post_save, sender=RefundForm) deforder_state_update(sender, instance, created, **kwargs): instance.order.state = REFUNDING instance.order.save() # 这里,order是refundform的一个外键
当然,这里可以写的更多更周全,例如退款单取消改回状态等。
观察者是非常实用的一个设计模式,Django也支持用户 自定义 一些信号。
【相关推荐】
1. 特别推荐 :“php程序员工具箱”V0.1版本下载
2. Python免费视频教程
3. Python面向对象视频教程
以上就是详解Django中观察者模式的详细内容,更多请关注Gxl网其它相关文章!
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did85103