PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
本篇文章给大家带来的内容是关于django教程中user-profile的使用方法介绍(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
Profile作用:User内置的字段不够完善,导致创建的用户信息单一,Profile就是为了对User进行扩展,即丰富用户信息
在models中创建Profile类,添加字段user与User形成OneToOne关系以及级联删除
on_delete=models.CASCADE
引入与信号相关的包
from django.dispatch import receiverfrom django.db.models.signals import post_save
装饰器装饰函数,User创建时信号触发自动创建Profile的user字段并关联;User保存时信号触发,Profile自动保存
源码
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()
相关推荐:
已抢7199个
抢已抢94710个
抢已抢14801个
抢已抢52062个
抢已抢194616个
抢已抢87259个
抢