Библиотека комментариев для Wagtail

Commentail

Комментарии для сайтов на Wagtail: модерация в CMS, ответы и подтверждение почты гостей. Стабильная версия 1.3.2, шесть языков интерфейса и писем.

  • Python
  • Django
  • Wagtail
  • Open source

Основные возможности

  • Подключение шаблонным тегом к Wagtail Pages и зарегистрированным Django-моделям.
  • Четыре политики модерации, массовые действия с подтверждением стирания, правила по фразам и CSV.
  • Ответы, редактирование автором и почтовые уведомления с отпиской.
  • Учётные записи сайта и гости с подтверждением почты.
  • Шесть языков интерфейса и писем; HTML и текстовая версия уведомлений.
  • Выборка последних комментариев с проверкой доступа и собственным оформлением.
  • Адаптивный виджет и наследование темы; основные сценарии без JavaScript при встроенной арифметической CAPTCHA.
  • Отправка писем через SMTP или API почтового провайдера с помощью Django email backend.
  • Фоновая обработка командой по расписанию или через очередь задач проекта; Redis и Celery не обязательны.
  • Защита гостей: скрытые проверки формы, лимиты попыток и сигналы модерации для повторяющегося длинного текста и множества ссылок, включая правки.
  • Арифметическая CAPTCHA по умолчанию; необязательные Google reCAPTCHA v2 и Яндекс SmartCaptcha с JavaScript. Черновик сохраняется при ошибках провайдера.

О проекте

Commentail — библиотека комментариев для Wagtail CMS. Виджет подключается шаблонным тегом к странице или зарегистрированной Django-модели. Комментарии, учётные записи и отправка писем остаются в приложении владельца сайта.

Курс по Commentail: 22 урока от установки до настройки

Читатели могут отвечать на сообщения и редактировать свои комментарии. Гости подтверждают электронную почту; редакторы выбирают одну из четырёх политик модерации и настраивают правила по словам и фразам. Доступны массовые действия с подтверждением стирания текста и выделение сотрудников. Модератор управляет публикацией, но не переписывает чужой текст.

Commentail 1.3.2 — стабильный выпуск под лицензией MIT. Доступны необязательные Google reCAPTCHA v2 и Яндекс SmartCaptcha, скрытые проверки формы и лимиты попыток гостевой отправки. Арифметическая CAPTCHA остаётся вариантом по умолчанию. Внешним CAPTCHA нужен JavaScript; при ошибке провайдера текст остаётся в редактируемом черновике.

В версии 1.3.2 исправлена регрессия 1.3.1: обсуждения под переведёнными главными страницами Wagtail Site снова доступны при включённой интернационализации контента. Проверки публикации, ограничений доступа и принадлежности сайту сохраняются для форм, защищённых ссылок, очереди писем и последних комментариев. Новых миграций относительно 1.3.1 нет. При переходе с 1.3.0 и более ранних версий нужно также выполнить инструкцию обновления 1.3.1 с резервной копией и остановкой записи на время необратимой миграции.

Повторяющийся длинный текст и большое количество ссылок направляют гостевой комментарий или его правку на проверку модератору. По умолчанию проверяются повторы текста от 80 символов в течение часа в пределах сайта либо сообщения с тремя и более явными HTTP(S)/www-ссылками. Пороги настраиваются; короткие одинаковые ответы и одна-две ссылки эти проверки не запускают. Сигналы не удаляют текст автоматически, а причины видны модератору.

Виджет наследует шрифты и цвета сайта; оформление меняется через CSS-переменные и шаблоны. Интерфейс и письма доступны на русском, английском, немецком, французском, испанском и бразильском португальском. Письма содержат HTML и текстовую версию. Шаблонный тег последних комментариев позволяет оформить подборку средствами сайта с учётом доступа читателя. Для опубликованных комментариев предусмотрены Microdata и JSON-LD Schema.org Comment.

Совместимость: Python 3.12–3.14; Wagtail 7.4 LTS начиная с 7.4.3 — с Django 5.2 или 6.0; Wagtail 8.0, включая 8.0.1, — с Django 5.2, 6.0 или 6.1. Поддерживаются файловая SQLite и PostgreSQL 16.

Для гостевых комментариев и уведомлений нужны настроенная отправка писем через Django и фоновая обработка раз в минуту. Можно запускать команду process_commentail или вызывать commentail.background.process_pending() из очереди задач проекта; достаточно одного расписания. Redis и Celery не обязательны. Установка и документация доступны в Wiki, пакет — на PyPI, гарантии совместимости — в политике стабильного API.

Комментарии 0

Имя: до 40 символов.

После отправки мы пришлём письмо со ссылкой для подтверждения email.

Не более 5000 символов.

Опубликованных комментариев пока нет.

Все проекты