
Django 시그널
내장 시그널, pre_save, post_save, pre_delete, 커스텀 시그널, receiver, 시그널 모범 사례
18 면접 질문·
Mid-Level
1Django에서 시그널이란 무엇입니까?
1
Django에서 시그널이란 무엇입니까?
답변
시그널은 프레임워크의 다른 곳에서 특정 작업이 발생했을 때 애플리케이션의 특정 부분에 알릴 수 있게 해주는 메커니즘입니다. 시그널을 사용하면 이벤트 발신자와 그 이벤트에 반응하는 receiver 사이를 느슨하게 결합할 수 있습니다. Django는 모델 작업을 위해 pre_save, post_save, pre_delete, post_delete 같은 여러 내장 시그널을 제공합니다.
2객체가 데이터베이스에 저장되기 직전에 발생하는 시그널은 무엇입니까?
2
객체가 데이터베이스에 저장되기 직전에 발생하는 시그널은 무엇입니까?
답변
pre_save 시그널은 모델의 save() 메서드가 실행되기 전에 발생합니다. 이를 통해 파생 값 계산이나 데이터 정규화처럼 저장 전에 인스턴스를 수정할 수 있습니다. 이 시그널은 객체가 생성될 때든 업데이트될 때든 호출되므로 유용합니다.
3receiver 함수를 Django 시그널에 연결하는 데 사용해야 하는 데코레이터는 무엇입니까?
3
receiver 함수를 Django 시그널에 연결하는 데 사용해야 하는 데코레이터는 무엇입니까?
답변
django.dispatch의 @receiver 데코레이터를 사용하면 함수를 선언적으로 시그널에 연결할 수 있습니다. 수신할 시그널을 매개변수로 받으며, 선택적으로 발신자를 필터링하기 위한 sender도 지정할 수 있습니다. 이 방식은 connect() 메서드보다 가독성이 좋고 코드 유지보수를 쉽게 만듭니다.
4
post_save 시그널의 어떤 인자로 생성과 업데이트를 구분할 수 있습니까?
5
Django 애플리케이션에서 시그널 receiver 코드를 어디에 두는 것이 권장됩니까?
+15 면접 질문
기타 Django 면접 주제
Python 기초
Junior
25개 질문Python 객체 지향
Junior
20개 질문Django 기초
Junior
20개 질문Django Models - 기초
Junior
22개 질문Django 뷰
Junior
20개 질문Django 템플릿
Junior
18개 질문Django 폼
Mid-Level
22개 질문고급 QuerySet
Mid-Level
25개 질문Django 인증
Mid-Level
22개 질문Django 미들웨어
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개 질문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 및 프로덕션 구성
Senior
22개 질문관측 가능성 및 모니터링
Senior
24개 질문