Django在oauth回调后执行操作
我有一个项目,我想让用户能够选择使用他们的Google/Facebook帐户来注册 此外,每当新用户注册时,就会创建另一个模型(帐户)并与该用户连接。所有这些都很好,但现在我有一个问题 当使用Continue with Google的用户注册时,他们应该被重定向到我将与刚创建的用户创建帐户的视图(可能不是最好的方式,但我找不到更好的例子) 现在问题就出现在这里: 如果电子邮件已经存在于Users表中,则用户不会被转移到重定向url,我将在该url中执行检查,如果该电子邮件的帐户存在,我将在登录/注册页面上显示警告,但他们会被重定向到allauth的Django在oauth回调后执行操作,django,django-models,oauth,django-allauth,Django,Django Models,Oauth,Django Allauth,我有一个项目,我想让用户能够选择使用他们的Google/Facebook帐户来注册 此外,每当新用户注册时,就会创建另一个模型(帐户)并与该用户连接。所有这些都很好,但现在我有一个问题 当使用Continue with Google的用户注册时,他们应该被重定向到我将与刚创建的用户创建帐户的视图(可能不是最好的方式,但我找不到更好的例子) 现在问题就出现在这里: 如果电子邮件已经存在于Users表中,则用户不会被转移到重定向url,我将在该url中执行检查,如果该电子邮件的帐户存在,我将在登录/
…accounts/social/signup/
url
这就是我所拥有的:
设置.py
LOGIN_REDIRECT_URL = "/account_user/checkouath/"
views.py
def checkouath(request):
user = request.user
oauthUser = SocialAccount.objects.get(user=user)
# Actions to create new Account and check if User exists are going to be here
return redirect(reverse("homepage"))
这是我在谷歌上设置的重定向:http://127.0.0.1:8000/accounts/google/login/callback/
我想我可以更改这个URL,但后来我得到一个错误的回调
现在我确定这是一个简单的问题,但我不明白,我想可能有一些回调处理程序,但我找不到实现类似的东西的资源。很抱歉,我不能评论声誉低于50的bc,但我会在您回复后立即删除它。我有几件事需要你帮忙
- 您是否已在main url.py中安装并包含了
(或您正在使用的oauth库)django social
- LOGIN_REDIRECT_URL应该是用户登录后重定向的路径,因此通常是主路径或类似的路径。那是你的意图吗
- checkouauth函数非常好,但是您几乎可以在任何不需要路由的地方运行它