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

不言
Libérer: 2018-09-15 14:23:56
original
2343 Les gens l'ont consulté

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
Copier après la connexion

Présentation des packages liés au signal

from django.dispatch import receiverfrom django.db.models.signals import post_save
Copier après la connexion

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()
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal