重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了Django怎么在Model保存前记录日志,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
创新互联成立与2013年,是专业互联网技术服务公司,拥有项目成都网站设计、做网站、成都外贸网站建设公司网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元赤壁做网站,已为上家服务,为赤壁各地企业和个人服务,联系电话:18982081108Django中如何在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'