gpt4 book ai didi

python - 使用 post_save 信号或执行 View 中的逻辑有什么区别

转载 作者:行者123 更新时间:2023-12-01 04:21:14 26 4
gpt4 key购买 nike

所以我有以下代码:

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()

前面的代码和在注册 View 上创建配置文件有什么区别?

def some_view(request):
#save the user and then
profile = UserProfile(foo=foo, user=user)
profile.save()

最佳答案

使用post_save,当以其他方式创建用户帐户时,也会创建用户个人资料,例如:

  • 使用manage.py shell控制台
  • 使用 django 管理
  • 使用其他 View
  • 使用第三方软件包,例如 python-social-auth

关于python - 使用 post_save 信号或执行 View 中的逻辑有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com