我正在使用social-auth-app-django与Facebook和Google进行社交认证。我正在尝试创建一个用户创建一个接收器来执行某些命令,例如在用户创建后显示一个教程(仅一次)。
以下是我正在尝试但未能使其工作的内容。
from social_core.pipeline.user import create_user
@receiver(create_user)
def after_user_created(request, user, **kwargs):
userprofile = UserProfile.objects.create(user=user)
userprofile.full_name = user.first_name + " " + user.last_name
userprofile.save()
request.session['first_login'] = True
return render_to_response("main/highlights/highlights.html",locals(),RequestContext(request))
基本上,一旦我创建了一个唯一的用户,我怎样才能创建某种接收器来激活,以便我可以在创建用户后执行自定义操作?我目前的代码似乎不起作用。
答案 0 :(得分:0)
在你的app models.py中写一个预保存信号,如下所示:
@receiver(pre_save, sender=User)
def show_tutorial(sender, instance=None, **kwargs):
# For first time creation of user display tutorial
if instance._state.adding:
# display tutorial()