Cet article vous apporte une introduction à l'utilisation de User-Profile dans le tutoriel Django (code source ci-joint). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Fonction de profil : les champs intégrés de l'utilisateur ne sont pas assez parfaits, ce qui entraîne qu'un seul profil utilisateur consiste à étendre l'utilisateur, c'est-à-dire à enrichir les informations utilisateur
Créer un. Classe de profil dans les modèles et ajout de champs. L'utilisateur forme une relation OneToOne avec l'utilisateur et la suppression en cascade
on_delete=models.CASCADE
Présentation des packages liés au signal
from django.dispatch import receiverfrom django.db.models.signals import post_save
Le décorateur décore la fonction. Lorsque l'Utilisateur est créé, le signal se déclenche et crée automatiquement le champ utilisateur du Profil et l'associe lorsque l'Utilisateur est enregistré, le signal se déclenche et le Profil automatiquement ; enregistre le
Code source
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()
Recommandations associées :
Comment utiliser l'objet Utilisateur dans Django session
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!