Django评论电子邮件通知

时间:2012-10-11 10:04:22

标签: python django django-forms django-comments

我正在尝试在django评论框架上设置通知。我已经阅读了这里的文档 -

https://docs.djangoproject.com/en/dev/ref/contrib/comments/moderation/#django.contrib.comments.moderation.CommentModerator

我已将所有代码添加到我的noticeboard应用程序中,该应用程序当前正在发布评论。向网站发布评论时,它可以正常工作。但是,当我点击允许通知的“启用评论”字段时,我没有收到任何电子邮件。

**更新:

只是为了添加该网站有一个内置的邮件,所以它记录了从网站发出的所有电子邮件,并没有收到任何评论。如果我也取消勾选'启用评论'框,我会收到类似的错误消息 - comment_will_be_posted receiver'pre_save_moderation'kill the comment

所以我知道功能正常。

这是我到目前为止的代码:

//模型的片段

from django.contrib.comments.moderation import CommentModerator, moderator

class Notice(models.Model):
    class Meta:
        ordering = ['-date']

    content_type = 'noticeboard'

    title = models.CharField(max_length=255)
    sector = models.ForeignKey(BusinessSector, verbose_name="Sector", related_name='notices')
    date = models.DateTimeField(auto_now_add=True, verbose_name="Date posted")
    copy = models.TextField()
    owner = models.ForeignKey('auth.User', related_name='notices')

    owner_company = models.ForeignKey('directory.Company', verbose_name='Company')
    enable_comment = models.BooleanField()

class EntryModerator(CommentModerator):
    email_notification = True
    enable_field = 'enable_comment'

moderator.register(Notice, EntryModerator)

我还将文件'comment_notification_email.txt'上传到模板/联系人。

以上代码已包含在一个名为noticeboard的现有应用中,因为这是发布评论的位置。

如果您认为某些内容对您有用,请随时提出任何问题。

我错过了什么!?

谢谢!

1 个答案:

答案 0 :(得分:0)

我必须在代码中添加一个If语句来说明是否正在使用邮件程序然后发送电子邮件。否则它不会发送电子邮件。

if "mailer" in settings.INSTALLED_APPS:
            from mailer import send_mail
        else:
            from django.core.mail import send_mail