Django, мощный веб-фреймворк для перфекционистов со сжатыми сроками, известен своим обширным набором инструментов и встроенных функций.
Одной из малоизвестных, но невероятно удобных функций является возможность отправки уведомлений по электронной почте при возникновении ошибок.
Эта функция может оказать неоценимую помощь разработчикам и администраторам, обеспечивая немедленное уведомление о возникающих проблемах.
В этом руководстве мы расскажем вам о настройке уведомлений по электронной почте для отчетов об ошибках в Django.
1. Обновление настроек Django
Ваш файл settings.py – это то место, где происходит волшебство.
Обновите файл settings.py со следующими конфигурациями:
# Настройка бэкенда электронной почты
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# Настройки SMTP
EMAIL_HOST = 'your-smtp-server.com'
EMAIL_PORT = 587 # Typical for TLS
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your@email.com'
EMAIL_HOST_PASSWORD = 'your-email-password'
Замените заполнители (your-smtp-server.com, your@email.com и т.д.) на реальные реквизиты SMTP.
2. Настройка отчетов об ошибках
Django позволяет указать, кто должен получать отчеты об ошибках, с помощью настройки ADMINS.
ADMINS = [('Your Name', 'your@email.com')]
Когда значение DEBUG равно False, Django будет отправлять отчеты об ошибках на адреса электронной почты, указанные в ADMINS.
3. Тонкая настройка отчетов об ошибках
Django предоставляет несколько настроек для фильтрации и настройки отчетов об ошибках:
ERRORS_EMAIL_SUBJECT_PREFIX: Вы можете использовать эту настройку для определения префикса для тем сообщений об ошибках, что облегчает их обнаружение.
По умолчанию он имеет значение ‘[Django] ‘.
ERRORS_EMAIL_SUBJECT_PREFIX = '[YourProject Error]'
SEND_BROKEN_LINK_EMAILS: Если установлено значение True, то Django будет отправлять письма и для неработающих ссылок (404 ошибки).
Это особенно полезно для обнаружения неработающих ссылок на вашем живом сайте.
4. Протестируйте свою настройку
Чтобы убедиться в правильности конфигурации и возможности получения писем об ошибках, можно вручную вызвать исключение в одном из представлений:
def some_view(request):
raise Exception("This is a test error.")
5. Соображения безопасности
- Никогда не коммите конфиденциальные данные: Убедитесь, что вы никогда не коммитите конфиденциальные данные, такие как пароли электронной почты, в системе управления версиями. Для работы с такими данными используйте переменные окружения или модуль Django secrets.
- Ограничение скорости: Частые ошибки могут переполнить ваш почтовый ящик. Полезно иметь механизмы, ограничивающие количество писем с ошибками за определенный промежуток времени.
Заключение
Настройка уведомлений об ошибках по электронной почте в Django может быть выполнена в несколько простых шагов.
Эта функция позволяет оперативно получать информацию о состоянии приложения и быстро решать любые непредвиденные проблемы.
С дополнительным уровнем уведомлений по электронной почте вы сможете обеспечить бесперебойную работу своих Django-приложений и избежать критических ошибок.
см. также:
- 🐳 Заворачиваем в Docker среду разработки Django, PostgreSQL
- 🐳 Как завернуть в Docker приложение Django в Ubuntu / Debian / CentOS
- Как настроить виртуальную среду Python на Ubuntu 18.04