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

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

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

Основные сценарии использования:

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

Пример:

python
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)

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

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

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

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

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