Встречается на собеседованиях • сегодня
Что такое сигнал в Django
Сигналы в Django — это механизм для отправки и получения уведомлений при определенных событиях в приложении. Они позволяют разным частям кода реагировать на изменения, не создавая жестких зависимостей между компонентами.
Основные типы сигналов:
- Встроенные сигналы:
pre_save,post_save,pre_delete,post_deleteи др. - Пользовательские сигналы: можно создавать свои сигналы через
django.dispatch.Signal.
Пример использования 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}")Особенности:
- Сигналы работают асинхронно
- Позволяют избегать циклических импортов
- Могут замедлять работу при злоупотреблении
Лучшие практики:
- Выносить обработчики в отдельный модуль
signals.py - Подключать через
ready()метод вapps.py - Избегать сложной логики в обработчиках

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы