1

djangoコメントフレームワークで通知を設定しようとしています。ここでドキュメントを確認しました-

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

コメントが現在投稿されている掲示板アプリにすべてのコードを追加しました。サイトにコメントを投稿すると、正常に機能します。ただし、通知を許可するための[コメントを有効にする]フィールドをクリックすると、メールが届きません。

**アップデート:

サイトを追加するだけで、メーラーが組み込まれているため、Webサイトから送信されたすべての電子メールが記録され、コメントは取得されません。[コメントを有効にする]ボックスもオフにすると、次のようなエラーメッセージが表示されます-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」をtemplates/contactにアップロードしました。

上記のコードは、コメントが投稿されている場所である掲示板と呼ばれる既存のアプリに含まれています。

何か役に立つと思われる場合は、遠慮なく質問してください。

私は何かを逃したのですか!?

ありがとう!

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 に答える