我正在利用django-allauth为我的物业管理应用程序提供Google身份验证。以下是我正在寻找的注册工作流程:
- 新经理进入注册页面,其中包含"注册Google"按钮。
- 他们点击按钮并登录Google。
- 在Google的回电话中,他们会看到一个表格以获取更多信息。
- 当他们提交此表单时,会创建他们的用户帐户和经理个人资料,并将其重定向到他们公司的主页。
醇>
我试图处理这个问题"重定向到公司的主页"通过适配器。我遇到的问题是" get_login_redirect_url"函数在初始Google登录后执行,但在我收集工作日程表的注册表单之前执行,因此我在适配器重定向上获得了一个DoesNotExist,因为它是在创建managerprofile之前调用的。
执行这些重定向的正确方法是什么?
settings.py
ACCOUNT_SIGNUP_FORM_CLASS = 'managers.signup.ManagerProfileSignupForm'
SOCIALACCOUNT_AUTO_SIGNUP = False
SOCIALACCOUNT_ADAPTER = 'managers.adapter.ManagerSocialAccountAdapter'
ACCOUNT_ADAPTER = 'managers.adapter.ManagerAccountAdapter'
adapters.py
class ManagerSocialAccountAdapter(DefaultSocialAccountAdapter):
def get_connect_redirect_url(self, request, socialaccount):
return reverse('company_details', args=(request.user.managerprofile.company.pk,))
class ManagerAccountAdapter(DefaultAccountAdapter):
def get_login_redirect_url(self, request):
return reverse('company_details', args=(request.user.managerprofile.company.pk,))
答案 0 :(得分:0)
在应用程序的settings.py上设置LOGIN_REDIRECT_URL:
我有这个值,重定向到主页:
LOGIN_REDIRECT_URL = '/'