所以我有以下代码:
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import UserProfile
@receiver(post_save, sender=User)
def auto_create_profile(sender, **kwargs):
instance = kwargs['instance']
created = kwargs['created']
if created:
profile = UserProfile(foo=foo)
profile.user = instance
profile.save()
以前的代码与在寄存器视图上创建配置文件有什么区别?
def some_view(request):
#save the user and then
profile = UserProfile(foo=foo, user=user)
profile.save()
答案 0 :(得分:2)
使用post_save
时,还会在以其他方式创建用户帐户时创建用户个人资料,例如:
manage.py shell
控制台