
Signal trong Django
Signal tích hợp, pre_save, post_save, pre_delete, signal tùy chỉnh, receiver, các best practice về signal
1Signal trong Django là gì?
Signal trong Django là gì?
Câu trả lời
Signal là một cơ chế cho phép một số phần của ứng dụng được thông báo khi các hành động cụ thể xảy ra ở nơi khác trong framework. Signal giúp tách biệt (decoupling) giữa nơi phát ra sự kiện và các receiver phản ứng với sự kiện đó. Django cung cấp nhiều signal tích hợp như pre_save, post_save, pre_delete và post_delete cho các thao tác trên model.
2Signal nào được phát ra ngay trước khi một đối tượng được lưu vào cơ sở dữ liệu?
Signal nào được phát ra ngay trước khi một đối tượng được lưu vào cơ sở dữ liệu?
Câu trả lời
Signal pre_save được phát ra trước khi phương thức save() của một model được thực thi. Nó cho phép thực hiện các thay đổi trên instance trước khi lưu, chẳng hạn như tính toán giá trị dẫn xuất hoặc chuẩn hóa dữ liệu. Signal này hữu ích vì nó được gọi dù đối tượng đang được tạo mới hay cập nhật.
3Nên dùng decorator nào để kết nối một hàm receiver với một signal của Django?
Nên dùng decorator nào để kết nối một hàm receiver với một signal của Django?
Câu trả lời
Decorator @receiver từ django.dispatch cho phép kết nối một hàm với một signal theo cách khai báo. Nó nhận signal cần lắng nghe làm tham số và tùy chọn nhận sender để lọc các nguồn phát. Cách tiếp cận này dễ đọc hơn phương thức connect() và giúp bảo trì code dễ dàng hơn.
Đối số nào của signal post_save cho phép phân biệt giữa việc tạo mới và cập nhật?
Nên đặt code receiver của signal ở đâu trong một ứng dụng Django?
+15 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Django khác
Kiến thức cơ bản về Python
Python hướng đối tượng
Kiến thức cơ bản về Django
Models Django - Cơ bản
Django Views
Template Django
Django Forms
QuerySets nâng cao
Xác thực Django
Middleware Django
Django Admin
Django REST Framework
Tải tệp lên
Caching trong Django
Session Django
Email trong Django
Kiểm thử Django
Bảo mật Django
Triển khai Django
Django ORM nâng cao
Hiệu năng Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django trong hệ sinh thái Microservices
Lệnh Django tùy chỉnh
Quốc tế hóa trong Django
Design Patterns trong Django
Django Async & ASGI
Settings & Cấu hình Production
Observability & Monitoring
Nắm vững Django cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí