1

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

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

我已将所有代码添加到我的公告板应用程序中,这是当前发布评论的地方。在网站上发表评论时,它工作正常。但是,当我单击允许通知的“启用评论”字段时,我没有收到任何电子邮件。

**更新:

只是要添加该站点具有内置邮件程序,因此它会记录从该站点发送的所有电子邮件,并且不会收到任何评论。如果我还取消选中“启用评论”框,我会收到一条错误消息 - comment_will_be_posted 接收者 'pre_save_moderation' 杀死了评论

所以我知道该功能工作正常。

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

//模型片段

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”上传到模板/联系人中。

上面的代码已包含在一个名为公告板的现有应用程序中,因为这是发布评论的地方。

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

我错过了什么吗!?

谢谢!

4

1 回答 1

0

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

if "mailer" in settings.INSTALLED_APPS:
            from mailer import send_mail
        else:
            from django.core.mail import send_mail
于 2012-10-23T11:24:01.273 回答