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
python
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.