
Сигнали Django
Вбудовані сигнали, pre_save, post_save, pre_delete, користувацькі сигнали, receiver, найкращі практики роботи з сигналами
1Що таке сигнал у Django?
Що таке сигнал у Django?
Відповідь
Сигнал — це механізм, який дозволяє певним частинам застосунку отримувати сповіщення, коли в іншому місці фреймворку відбуваються конкретні дії. Сигнали забезпечують роз'єднання (decoupling) між відправником події та receiver, які реагують на цю подію. Django надає кілька вбудованих сигналів, як-от pre_save, post_save, pre_delete та post_delete для операцій з моделями.
2Який сигнал надсилається безпосередньо перед збереженням об'єкта в базі даних?
Який сигнал надсилається безпосередньо перед збереженням об'єкта в базі даних?
Відповідь
Сигнал pre_save надсилається перед виконанням методу save() моделі. Він дозволяє вносити зміни в екземпляр перед його збереженням, наприклад обчислювати похідні значення або нормалізувати дані. Цей сигнал корисний, оскільки викликається незалежно від того, створюється об'єкт чи оновлюється.
3Який декоратор слід використовувати для підключення функції receiver до сигналу Django?
Який декоратор слід використовувати для підключення функції receiver до сигналу Django?
Відповідь
Декоратор @receiver із django.dispatch дозволяє підключати функцію до сигналу декларативно. Він приймає сигнал для прослуховування як параметр і, за бажанням, sender для фільтрації відправників. Цей підхід читабельніший за метод connect() і спрощує підтримку коду.
Який аргумент сигналу post_save дозволяє відрізнити створення від оновлення?
Де рекомендовано розміщувати код receiver сигналів у застосунку Django?
+15 питань зі співбесід
Інші теми співбесід Django
Основи Python
Об'єктно-орієнтований Python
Основи Django
Models Django - Основи
Django Views
Шаблони Django
Форми Django
Розширені QuerySets
Автентифікація Django
Django Middleware
Django Admin
Django REST Framework
Завантаження файлів
Кешування в Django
Сесії Django
Email у Django
Тестування Django
Безпека Django
Розгортання Django
Просунутий Django ORM
Продуктивність Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django в екосистемі мікросервісів
Користувацькі команди Django
Інтернаціоналізація Django
Патерни проєктування Django
Django Async та ASGI
Settings та конфігурація для production
Спостережуваність і моніторинг
Опануй Django для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно