Django

Django-signalen

Ingebouwde signalen, pre_save, post_save, pre_delete, aangepaste signalen, receivers, best practices voor signalen

18 gespreksvragen·
Mid-Level
1

Wat is een signaal in Django?

Antwoord

Een signaal is een mechanisme waarmee bepaalde delen van de applicatie op de hoogte kunnen worden gesteld wanneer specifieke acties elders in het framework plaatsvinden. Signalen maken ontkoppeling mogelijk tussen de verzender van de gebeurtenis en de receivers die op die gebeurtenis reageren. Django biedt verschillende ingebouwde signalen zoals pre_save, post_save, pre_delete en post_delete voor modelbewerkingen.

2

Welk signaal wordt uitgezonden net voordat een object in de database wordt opgeslagen?

Antwoord

Het pre_save-signaal wordt uitgezonden voordat de save()-methode van een model wordt uitgevoerd. Het maakt het mogelijk wijzigingen aan de instance aan te brengen vóór het opslaan, zoals het berekenen van afgeleide waarden of het normaliseren van gegevens. Dit signaal is nuttig omdat het wordt aangeroepen of het object nu wordt aangemaakt of bijgewerkt.

3

Welke decorator moet worden gebruikt om een receiver-functie te verbinden met een Django-signaal?

Antwoord

De @receiver-decorator uit django.dispatch maakt het mogelijk een functie declaratief met een signaal te verbinden. Hij neemt het te beluisteren signaal als parameter en optioneel de sender om verzenders te filteren. Deze aanpak is leesbaarder dan de connect()-methode en maakt het onderhoud van de code eenvoudiger.

4

Welk argument van het post_save-signaal maakt het mogelijk een aanmaak van een update te onderscheiden?

5

Waar wordt het aanbevolen om de code van signaal-receivers in een Django-applicatie te plaatsen?

+15 gespreksvragen

Beheers Django voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis