В продолжение заметки о стандартном приложении comments из коробки Django.
С ростом количества комментариев может возникнуть ситуация, что стандартное оповещение перестанет удовлетворять и захочется более подробной информации с "доставкой на дом".
Можно конечно воспользоваться возможностью создания своего приложения на основе стандартного, но зачастую затраты не оправдывают себя. А минимально "допилить" для получения максимума информации можно и стандартное comments.
Для этого необходимо произвести всего 3 действия:
1. Создать шаблон письма с текстом оповещения
/templates/comments/comment_notification_email.txt:
На сайте [URL Вашего сайта] размещен новый комментарий.
Адрес: http://[URL Вашего сайта]{{ comment.get_absolute_url }}
{{ comment.name }}({{ comment.email }}) - {{ comment.ip_address }}
-------------------------------------------------
{{ comment.comment }}
2. Проверяем чтобы в нашей модели заметок/статей был рабочий get_absolute_url
3. Для того чтобы переход осуществлялся корректно на комментарий, а не в начало статьи проверяем наличие якорей в листинге комментариев, если нет то добавляем:
<a name="c{{ comment.id }}"></a>
Вот и все требуемые манипуляции.
Для включения оповещения по почте:
..from django.contrib.comments.moderation import CommentModerator, moderator
..class EntryModerator(CommentModerator):
......email_notification = True
..moderator.register(Entry, EntryModerator)
Также не забыть настроить параметры для отправки почты в settings.py