Dieser Artikel bietet Ihnen eine Einführung in die Verwendung von User-Profile im Django-Tutorial (Quellcode beigefügt). Ich hoffe, dass er für Sie hilfreich ist.
Profilfunktion: Die integrierten Felder des Benutzers sind nicht perfekt genug, um ein einzelnes Benutzerprofil zu erweitern, das heißt, Benutzerinformationen zu erstellen Profilklasse in Modellen und Feldern hinzufügen. Benutzer bildet eine OneToOne-Beziehung mit Benutzer und kaskadiert Löschung
on_delete=models.CASCADE
Führt signalbezogene Pakete ein
from django.dispatch import receiverfrom django.db.models.signals import post_save
Dekorationsfunktion, das Signal wird ausgelöst, wenn der Benutzer erstellt wird, und das Benutzerfeld des Profils wird automatisch erstellt und verknüpft. Das Signal wird ausgelöst, wenn der Benutzer gespeichert wird, und das Profil wird automatisch gespeichert
Quellcode
from django.db import models from django.contrib.auth.models import User #信号 from django.db.models.signals import post_save,post_init from django.dispatch import receiver class Profile(models.Model): user = models.OneToOneField(User,on_delete=models.CASCADE) birth = models.DateField(null=True,blank=True) def __str__(self): return self.user.username class Meta: db_table = 'profile' @receiver(post_save,sender=User) def create_user_profile(sender,instance,created,**kwargs): print('创建User') if created: Profile.objects.create(user=instance) @receiver(post_save,sender=User) def save_user_profile(sender,instance,**kwargs): print('保存User') instance.profile.save()
Verwandte Empfehlungen:
So verwenden Sie ein Benutzerobjekt in einer Django-SitzungLernen Sie in fünf Schritten, wie Sie Nginx+uWSGI+Django verwenden. Methode zum Bereitstellen des Django-ProgrammsDas obige ist der detaillierte Inhalt vonEinführung in die Verwendung von User-Profile im Django-Tutorial (Quellcode im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!