python / beginner
Snippet
Entkopplung von Logik mit Signalen
Django-Signale ermöglichen es bestimmten Sendern, eine Reihe von Empfängern zu benachrichtigen, wenn Aktionen auftreten, wie z. B. das automatische Erstellen eines Profils beim Speichern eines Benutzers.
snippet.py
1
2
3
4
5
6
7
8
from django.db.models.signals import post_savefrom django.dispatch import receiverfrom .models import Profile, User@receiver(post_save, sender=User)def create_user_profile(sender, instance, created, **kwargs):if created:Profile.objects.create(user=instance)
django
Erklärung
1
@receiver(post_save, sender=User)
Verbindet die Funktion mit dem Signal, das nach dem Speichern eines User-Modells gesendet wird.
2
if created:
Ein boolescher Wert, der True ist, wenn ein neuer Datensatz erstellt wurde, und False, wenn ein bestehender aktualisiert wurde.