Зачем нужны сигналы в Django

Python Middle Без компании
Зачем нужны сигналы в Django
Ответы
Сигналы в Django позволяют выполнять определенные действия при возникновении событий в приложении, не изменяя исходный код моделей. Они реализуют механизм подписки на события (например, сохранение модели, удаление и т.д.) и выполнения связанных функций. Основные сценарии использования: - Логирование изменений - Автоматическое создание связанных объектов - Очистка кэша при изменении данных - Отправка уведомлений Пример: ``` from django.db.models.signals import post_save from django.dispatch import receiver from .models import UserProfile, User @receiver(post_save, sender=User) def create_user_profile(sender, instance, created, **kwargs): if created: UserProfile.objects.create(user=instance) ``` Сигналы помогают соблюдать принцип слабой связанности компонентов, так как обработчики событий не требуют модификации исходных классов.