Maison  >  Article  >  développement back-end  >  Tutoriel Introduction à l'utilisation de User-Profile dans Django (code source ci-joint)

Tutoriel Introduction à l'utilisation de User-Profile dans Django (code source ci-joint)

不言
不言original
2018-09-15 14:23:562288parcourir

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

Vous apprendre à l'implémenter en cinq étapes Déployer le programme Django à l'aide de la méthode Nginx+uWSGI+Django

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn