【发布时间】:2014-06-09 08:10:29
【问题描述】:
我正在利用 django-allauth 为我的物业管理应用程序提供 Google 身份验证。这是我正在寻找的注册工作流程:
- 一位新经理进入带有“使用 Google 注册”按钮的注册页面。
- 他们单击按钮并登录 Google。
- 在 Google 的回电中,他们会收到一份表格以获取更多信息。
- 当他们提交此表单时,他们的用户帐户和经理配置文件被创建,他们被重定向到他们公司的主页。
我试图通过适配器处理这个“重定向到公司主页”。我遇到的问题是“get_login_redirect_url”函数是在初始谷歌登录之后执行的,但在我收集他们的工作时间表的注册表单之前,所以我在适配器重定向上得到了一个 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,))
【问题讨论】:
-
您是否碰巧找到了解决方案
-
兄弟你找到解决办法了吗
标签: django django-allauth