用户使用allauth Django注册后创建UserProfile模型

时间:2013-10-07 10:12:45

标签: django user-profile django-allauth

我有一个django项目,其中有一个UserTrofile,具有OneToOne到User模型。它使用django-allauth进行注册。

我接受通过帐户和社交帐户注册。注册后,我希望将用户重定向到页面以为该用户帐户创建UserProfile。

我怎么能这样做?

我看过,有1个名为user_signed_up的信号,是否可以用来将用户重定向到某个页面?我在下面尝试了这个代码,但它没有将我重定向到我想要的页面。

@receiver(user_signed_up, dispatch_uid="some.unique.string.id.for.allauth.user_signed_up")
def do_stuff_after_sign_up(sender, **kwargs):
    request = kwargs['request']
    user = kwargs['user']
    return redirect ('/test/')

任何帮助将不胜感激。谢谢:))

1 个答案:

答案 0 :(得分:0)

我知道它已经很晚了,但我希望以后的读者会发现它会有所帮助。 :)

您需要像这样举起ImmediateHttpResponse

from allauth.exceptions import ImmediateHttpResponse
from django.shortcuts import render

@receiver(user_signed_up, dispatch_uid="some.unique.string.id.for.allauth.user_signed_up") 
def do_stuff_after_sign_up(sender, **kwargs): 
    request = kwargs['request'] 
    user = kwargs['user'] 
    raise ImmediateHttpResponse(render(request, 'you_custom_profile.html', {'user': user}))