이 글은 Django 튜토리얼(소스 코드 첨부)에서 User-Profile 사용에 대한 소개를 담고 있습니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
Profile 기능: User에 내장된 필드가 완벽하지 않아 단일 사용자 정보가 생성됩니다. Profile은 User를 확장하는 것, 즉 사용자 정보를 풍부하게 하는 것입니다.
모델에 Profile 클래스를 생성하고 필드 사용자와 사용자가 OneToOne 관계 및 계층을 형성합니다.
on_delete=models.CASCADE
신호 관련 패키지 소개
from django.dispatch import receiverfrom django.db.models.signals import post_save
데코레이터 장식 기능, 사용자가 생성될 때 신호가 트리거되고 자동으로 사용자 필드가 생성됩니다. 프로필을 연결하고 사용자가 저장하면 신호가 트리거되고 프로필이 자동으로 저장됩니다.
소스 코드
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()
관련 권장 사항:
가르치기 Nginx+uWSGI+Django 메서드를 사용하여 Django 프로그램을 배포하는 방법을 5단계로 안내합니다
위 내용은 Django 튜토리얼에서 사용자 프로필 사용 소개(소스 코드 첨부)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!