Django

Сигнали Django

Вбудовані сигнали, pre_save, post_save, pre_delete, користувацькі сигнали, receiver, найкращі практики роботи з сигналами

18 питань зі співбесід·
Mid-Level
1

Що таке сигнал у Django?

Відповідь

Сигнал — це механізм, який дозволяє певним частинам застосунку отримувати сповіщення, коли в іншому місці фреймворку відбуваються конкретні дії. Сигнали забезпечують роз'єднання (decoupling) між відправником події та receiver, які реагують на цю подію. Django надає кілька вбудованих сигналів, як-от pre_save, post_save, pre_delete та post_delete для операцій з моделями.

2

Який сигнал надсилається безпосередньо перед збереженням об'єкта в базі даних?

Відповідь

Сигнал pre_save надсилається перед виконанням методу save() моделі. Він дозволяє вносити зміни в екземпляр перед його збереженням, наприклад обчислювати похідні значення або нормалізувати дані. Цей сигнал корисний, оскільки викликається незалежно від того, створюється об'єкт чи оновлюється.

3

Який декоратор слід використовувати для підключення функції receiver до сигналу Django?

Відповідь

Декоратор @receiver із django.dispatch дозволяє підключати функцію до сигналу декларативно. Він приймає сигнал для прослуховування як параметр і, за бажанням, sender для фільтрації відправників. Цей підхід читабельніший за метод connect() і спрощує підтримку коду.

4

Який аргумент сигналу post_save дозволяє відрізнити створення від оновлення?

5

Де рекомендовано розміщувати код receiver сигналів у застосунку Django?

+15 питань зі співбесід

Інші теми співбесід Django

Основи Python

Junior
25 запитань

Об'єктно-орієнтований Python

Junior
20 запитань

Основи Django

Junior
20 запитань

Models Django - Основи

Junior
22 запитань

Django Views

Junior
20 запитань

Шаблони Django

Junior
18 запитань

Форми Django

Mid-Level
22 запитань

Розширені QuerySets

Mid-Level
25 запитань

Автентифікація Django

Mid-Level
22 запитань

Django Middleware

Mid-Level
18 запитань

Django Admin

Mid-Level
20 запитань

Django REST Framework

Mid-Level
30 запитань

Завантаження файлів

Mid-Level
20 запитань

Кешування в Django

Mid-Level
20 запитань

Сесії Django

Mid-Level
18 запитань

Email у Django

Mid-Level
18 запитань

Тестування Django

Mid-Level
22 запитань

Безпека Django

Mid-Level
22 запитань

Розгортання Django

Mid-Level
24 запитань

Просунутий Django ORM

Senior
28 запитань

Продуктивність Django

Senior
24 запитань

Django & Celery

Senior
22 запитань

Django Channels

Senior
24 запитань

Django & GraphQL

Senior
24 запитань

Django & Docker

Senior
20 запитань

Django в екосистемі мікросервісів

Senior
24 запитань

Користувацькі команди Django

Senior
18 запитань

Інтернаціоналізація Django

Senior
20 запитань

Патерни проєктування Django

Senior
24 запитань

Django Async та ASGI

Senior
26 запитань

Settings та конфігурація для production

Senior
22 запитань

Спостережуваність і моніторинг

Senior
24 запитань

Опануй Django для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно