1

这是我第一次使用 django 信号,我想挂钩评论应用程序提供的“comment_was_flagged”信号,以便在标记评论时通知我。

这是我的代码,但它似乎不起作用,我错过了什么吗?

from django.contrib.comments.signals import comment_was_flagged
from django.core.mail import send_mail

def comment_flagged_notification(sender, **kwargs):
  send_mail('testing moderation', 'testing', 'test@localhost', ['myemail@gmail.com',])

comment_was_flagged.connect(comment_flagged_notification)

(我现在只是在测试电子邮件,但我已经确保电子邮件可以正确发送。)

谢谢!

4

1 回答 1

4

我猜你已经把这段代码扔进了一个signals.py模块,或者类似的东西。

您必须确保您的模块代码实际上是在运行时执行的。如果您的模型模块都没有导入您的信号模块,则您的信号监听器将无法连接。

从 Django 的信号文档中窃取片段:

...您需要确保尽早导入它所在的模块,以便在需要发送任何信号之前注册信号处理。这使您的应用程序的 models.py 成为注册信号处理程序的好地方。

于 2010-03-30T22:01:38.753 回答