Урок 1 / 22 · Commentail 1.3.2
Если вы впервые подключаете комментарии к Wagtail, начните с учебного сайта на своём компьютере. Здесь можно ошибаться, не затрагивая посетителей и данные рабочего сайта. Дальше мы перенесём знакомые настройки в существующий проект.
Что понадобится
Терминал — программа, в которой команды вводятся текстом. На Windows откройте PowerShell, на macOS — Terminal. Команды выполняйте по одной; если команда завершилась ошибкой, сначала разберите её, а потом продолжайте. Не копируйте обозначения языка над блоком кода.
Курс привязан к Commentail 1.3.2. Поддерживаются Python 3.12–3.14, файловая SQLite и PostgreSQL 16. Совместимые пары: Wagtail 7.4.3+ в ветке 7.4 с Django 5.2 или 6.0; Wagtail 8.0 с Django 5.2, 6.0 или 6.1. Для уроков выберем Python 3.12 и SQLite. Установите Python с официального сайта; не заменяйте системный Python.
Подготовим папку и окружение
На странице релиза скачайте исходный архив .tar.gz, распакуйте и откройте терминал в папке, где находятся pyproject.toml и example. Именно исходный архив содержит учебный сайт; установленный wheel не заменяет эту папку. В macOS/Linux выполните:
python3.12 -m venv .venv
source .venv/bin/activate
python --version
python -m pip install commentail==1.3.2
В Windows используйте:
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python --version
python -m pip install commentail==1.3.2
Виртуальное окружение — отдельная папка с библиотеками этого проекта. При новом запуске терминала активируйте его снова. Если PowerShell запрещает активацию, не меняйте общую политику безопасности: вместо python вызывайте полный путь .venv\Scripts\python.exe. После перехода в example этот путь будет ..\.venv\Scripts\python.exe.
Запустим пример
В корне распакованного архива выполните:
python -m pip install -e .
cd example
python manage.py migrate
python manage.py bootstrap_demo
python manage.py createsuperuser
python manage.py runserver 127.0.0.1:8000
migrate создаёт таблицы; bootstrap_demo — учебную страницу и товар; createsuperuser — ваш локальный вход в админку. Пароль в терминале может не отображаться: это нормально. Последняя команда оставляет сервер работать. Откройте страницу и админку. Учётная запись существует только в этой учебной базе. bootstrap_demo никогда не запускайте на рабочем сайте.
Войдите в админку, отправьте комментарий на странице и одобрите его в разделе Comments. По умолчанию сообщения проходят модерацию; ожидание проверки — нормальный результат.
Попробуем гостя без почтового сервиса
Остановите сервер Ctrl+C. В example/demo/settings.py замените существующие EMAIL_BACKEND и DEFAULT_FROM_EMAIL:
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
DEFAULT_FROM_EMAIL = "comments@example.invalid"
Снова запустите сервер. Во втором терминале активируйте то же окружение, перейдите в example и выполните после гостевой отправки:
python manage.py process_commentail
В приватном окне браузера отправьте комментарий с учебным адресом. Обработчик напечатает письмо во втором терминале. Скопируйте ссылку подтверждения в тот же приватный браузер, откройте и нажмите кнопку подтверждения. Затем одобрите сообщение в админке. Настоящее письмо никуда не уходит.
Проверьте результат: посетитель видит одобренный текст, а другой браузер не видит чужие ожидающие сообщения. Завершая работу, остановите сервер Ctrl+C. Разработка на runserver, локальные секреты и DEBUG из примера не подходят для публикации сайта.
Другие уроки по этой задаче
- 2. Подключаем Commentail к существующему Wagtail
- 3. Настройки сайта и путь читателя
- 5. Переменные окружения без путаницы с ключами
Выберите способ входа или оставьте комментарий как гость ниже.