
Django-Signale
Integrierte Signale, pre_save, post_save, pre_delete, benutzerdefinierte Signale, Receiver, Best Practices für Signale
1Was ist ein Signal in Django?
Was ist ein Signal in Django?
Antwort
Ein Signal ist ein Mechanismus, der es bestimmten Teilen der Anwendung ermöglicht, benachrichtigt zu werden, wenn an anderer Stelle im Framework bestimmte Aktionen auftreten. Signale ermöglichen eine Entkopplung zwischen dem Sender des Ereignisses und den Receivern, die auf dieses Ereignis reagieren. Django stellt mehrere integrierte Signale wie pre_save, post_save, pre_delete und post_delete für Modelloperationen bereit.
2Welches Signal wird unmittelbar vor dem Speichern eines Objekts in der Datenbank ausgelöst?
Welches Signal wird unmittelbar vor dem Speichern eines Objekts in der Datenbank ausgelöst?
Antwort
Das pre_save-Signal wird ausgelöst, bevor die save()-Methode eines Modells ausgeführt wird. Es ermöglicht, Änderungen an der Instanz vor dem Speichern vorzunehmen, etwa das Berechnen abgeleiteter Werte oder das Normalisieren von Daten. Dieses Signal ist nützlich, da es sowohl beim Erstellen als auch beim Aktualisieren des Objekts aufgerufen wird.
3Welcher Dekorator sollte verwendet werden, um eine Receiver-Funktion mit einem Django-Signal zu verbinden?
Welcher Dekorator sollte verwendet werden, um eine Receiver-Funktion mit einem Django-Signal zu verbinden?
Antwort
Der @receiver-Dekorator aus django.dispatch ermöglicht es, eine Funktion deklarativ mit einem Signal zu verbinden. Er nimmt das zu überwachende Signal als Parameter und optional den Sender, um Emittenten zu filtern. Dieser Ansatz ist besser lesbar als die connect()-Methode und erleichtert die Wartung des Codes.
Welches Argument des post_save-Signals erlaubt es, eine Erstellung von einer Aktualisierung zu unterscheiden?
Wo wird empfohlen, den Code der Signal-Receiver in einer Django-Anwendung zu platzieren?
+15 Interview-Fragen
Weitere Django-Interviewthemen
Python-Grundlagen
Objektorientiertes Python
Django-Grundlagen
Django Models - Grundlagen
Django Views
Django-Templates
Django-Formulare
Erweiterte QuerySets
Django-Authentifizierung
Django-Middleware
Django Admin
Django REST Framework
Datei-Upload
Django Caching
Django-Sessions
Django E-Mail
Django-Testing
Django-Sicherheit
Django-Deployment
Fortgeschrittenes Django ORM
Django-Performance
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django im Microservices-Ökosystem
Benutzerdefinierte Django-Befehle
Django-Internationalisierung
Django Design Patterns
Django Async & ASGI
Settings & Produktionskonfiguration
Observability & Monitoring
Meistere Django für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten