Django怎么在Model保存前记录日志-创新互联
这篇文章主要为大家展示了Django怎么在Model保存前记录日志,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
Django中如何在Model保存前做一定的固定操作,比如写一句日志?
关键词: 信号
利用Django的Model的Signal Dispatcher, 通过django.db.models.signals.pre_save() 方法,在事件发生前,
发射
触发信号,这一切都被调度中的receiver方法深藏功与名的保存了。
信号的处理一般都写在Model中,举个例子:
import logging from django.db import models from django.db.models.signals import pre_save from django.dispatch import receiver class Order(models.Model): # ... logger = logging.getLogger(__name__) @receiver(pre_save, sender=Order) def pre_save_handler(sender, **kwargs): # 我们可以在Order这个Model保存之前尽情调戏了:) logger.debug("{}".format(sender, **kwargs)) print 'fuck universe'
分享文章:Django怎么在Model保存前记录日志-创新互联
标题路径:http://tyjierui.cn/article/cdcpoc.html