Back to questions
Junior — Middle
61
Какова роль и использование сигналов в фреймворке Django?
Answer from AI
sobes.tech AI
В Django сигналы используются для реализации паттерна наблюдателя, позволяя компонентам приложения реагировать на определённые события без тесной связи между ними.
Например, когда создаётся новый пользователь, сигнал post_save может автоматически запускать функцию, которая отправляет приветственное письмо.
Пример использования сигнала:
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.contrib.auth.models import User
@receiver(post_save, sender=User)
def send_welcome_email(sender, instance, created, **kwargs):
if created:
# логика отправки письма
print(f"Отправляем письмо пользователю {instance.email}")
Таким образом, сигналы помогают отделить логику реакции на события от основной бизнес-логики, улучшая модульность и расширяемость приложения.