Django

Segnali Django

Segnali integrati, pre_save, post_save, pre_delete, segnali personalizzati, receiver, best practice sui segnali

18 domande da colloquio·
Mid-Level
1

Che cos'è un segnale in Django?

Risposta

Un segnale è un meccanismo che consente a determinate parti dell'applicazione di essere notificate quando si verificano azioni specifiche altrove nel framework. I segnali permettono di disaccoppiare l'emittente dell'evento dai receiver che reagiscono a tale evento. Django fornisce diversi segnali integrati come pre_save, post_save, pre_delete e post_delete per le operazioni sui modelli.

2

Quale segnale viene emesso subito prima che un oggetto venga salvato nel database?

Risposta

Il segnale pre_save viene emesso prima che venga eseguito il metodo save() di un modello. Consente di apportare modifiche all'istanza prima del salvataggio, come calcolare valori derivati o normalizzare i dati. Questo segnale è utile perché viene chiamato sia quando l'oggetto viene creato sia quando viene aggiornato.

3

Quale decoratore si deve usare per collegare una funzione receiver a un segnale Django?

Risposta

Il decoratore @receiver di django.dispatch consente di collegare una funzione a un segnale in modo dichiarativo. Riceve come parametro il segnale da ascoltare e, opzionalmente, il sender per filtrare gli emittenti. Questo approccio è più leggibile del metodo connect() e facilita la manutenzione del codice.

4

Quale argomento del segnale post_save permette di distinguere una creazione da un aggiornamento?

5

Dove è consigliato collocare il codice dei receiver dei segnali in un'applicazione Django?

+15 domande da colloquio

Padroneggia Django per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis