Django Signals — это механизм, который позволяет компонентам Django оповещать другие компоненты о различных событиях в приложении. Сигналы полезны для обработки событий, не требующих прямого вмешательства в код, и позволяют сохранять приложение гибким и расширяемым. Для создания сигнала используется класс Signal из django.db.models.signals или django.core.signals. Допустим, вам нужно отправить email-уведомление после сохранения нового пользователя: from django.db.models.signals import post_save
from django.dispatch import receiver
from django.core.mail import send_mail
from django.contrib.auth.models import User
@receiver(post_save, sender=User)
def send_welcome_email(sender, instance, created, **kwargs):
if created:
send_mail(
'Добро пожаловать!',
'Вы успешно зарегистрировались на нашем сайте.',
'from@example.com',
[instance.email],
fail_silently=False,
)