python / beginner
Snippet
Entkoppelte Logik mit Signalen
Signale ermöglichen es Ihnen, Code auszuführen, wenn eine bestimmte Aktion an anderer Stelle in Ihrer Anwendung auftritt, z. B. 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 django.contrib.auth.models import User@receiver(post_save, sender=User)def user_created_handler(sender, instance, created, **kwargs):if created:print(f'New user: {instance.username}')
django
Erklärung
1
@receiver(post_save, sender=User)
Verbindet diese Funktion mit dem 'post_save'-Signal des User-Modells.
2
if created:
Ein Boolean, der True ist, wenn ein neuer Datensatz erstellt wurde, sonst False.
3
instance
Die tatsächliche Objektinstanz, die gerade gespeichert wurde.