Встречается на собеседованиях • сегодня

Для чего нужны сигналы Django

Сигналы в Django позволяют выполнять определенные действия при возникновении событий в приложении, например, сохранение модели или запрос к базе данных. Они реализуют механизм подписки на события (publish-subscribe) и помогают разделять логику между разными частями приложения.

Основные случаи использования:

  • Логирование изменений моделей
  • Автоматическое создание связанных объектов
  • Очистка кэша при изменении данных
  • Отправка уведомлений

Пример обработки сигнала post_save:

python
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import MyModel

@receiver(post_save, sender=MyModel)
def my_handler(sender, instance, created, **kwargs):
    if created:
        print(f"Создан новый объект {instance}")
    else:
        print(f"Обновлен объект {instance}")

Сигналы помогают избегать жестких связей между компонентами приложения, делая код более модульным и поддерживаемым.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы