Django - 如何从virtualenv中安装的应用程序获取django信号?

时间:2014-05-27 08:51:09

标签: django django-signals

我的Django(1.6.2)项目在我的virtualenv上安装了第三方Django App。

我需要设置一个Django信号来监听特定模型上的post_save操作(virtualenv中的第三方)。我已经对下面的代码进行了测试,但它无效。

我已将代码放入" views.py"。我认为这是代码无效的原因。

from django.db.models.signals import post_save
from django.dispatch import receiver
from paypal.standard.models import PayPalStandardBase

@receiver(post_save, sender=PayPalStandardBase)
def my_handler(sender, **kwargs):
    pdb.set_trace()

所以,我的问题是。我应该在哪里放置这段代码?

1 个答案:

答案 0 :(得分:2)

你把它放在哪里并不重要。唯一要记住的是代码必须实际运行,这意味着Django需要在某些时候导入它。如果您的视图文件包含一些由URL引用并由urls.py导入的实际视图,那就没问题。如果没有,请将其放在导入的地方。