Django

Django Sinyalleri

Yerleşik sinyaller, pre_save, post_save, pre_delete, özel sinyaller, receiver'lar, sinyal en iyi uygulamaları

18 mülakat soruları·
Mid-Level
1

Django'da sinyal nedir?

Cevap

Sinyal, framework içinde başka bir yerde belirli işlemler gerçekleştiğinde uygulamanın belirli bölümlerinin bilgilendirilmesini sağlayan bir mekanizmadır. Sinyaller, olay göndericisi ile bu olaya tepki veren receiver'lar arasında gevşek bağlantı (decoupling) sağlar. Django, model işlemleri için pre_save, post_save, pre_delete ve post_delete gibi çeşitli yerleşik sinyaller sunar.

2

Bir nesne veritabanına kaydedilmeden hemen önce hangi sinyal yayınlanır?

Cevap

pre_save sinyali, bir modelin save() metodu çalıştırılmadan önce yayınlanır. Türetilmiş değerleri hesaplamak veya verileri normalleştirmek gibi, kaydedilmeden önce instance üzerinde değişiklik yapmaya olanak tanır. Bu sinyal, nesne ister oluşturuluyor ister güncelleniyor olsun çağrıldığı için kullanışlıdır.

3

Bir receiver fonksiyonunu bir Django sinyaline bağlamak için hangi dekoratör kullanılmalıdır?

Cevap

django.dispatch'teki @receiver dekoratörü, bir fonksiyonu bir sinyale bildirimsel (declarative) olarak bağlamayı sağlar. Dinlenecek sinyali parametre olarak alır ve göndericileri filtrelemek için isteğe bağlı olarak sender alır. Bu yaklaşım connect() metoduna göre daha okunabilirdir ve kodun bakımını kolaylaştırır.

4

post_save sinyalinin hangi argümanı bir oluşturmayı bir güncellemeden ayırt etmeyi sağlar?

5

Bir Django uygulamasında sinyal receiver kodunun nereye yerleştirilmesi önerilir?

+15 mülakat soruları

Bir sonraki mülakatın için Django'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla