我有一个Django项目中存在具有OneToOne的用户模型用户配置。它使用Django的allauth登记。
我通过账户和社会的帐户接受报名。一旦签约,我希望用户被重定向到一个页面,为该用户创建帐户的用户配置。
我怎么能这样做?
我已阅读,有一个名为user_signed_up 1个信号,可以将它用于将用户重定向到某个页面?我想这下面的代码,但它不会重定向我我想要的页面。
@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/')
任何帮助将不胜感激。谢谢 :)
我知道它的晚,但我希望未来的读者会发现它有用。 :)
您需要提高这样的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}))