除了 django auth 之外,我还使用 Django allauth 来登录我的 web 应用程序中的用户。 我想在登录或使用allauth登录时将用户返回到当前页面。
我已经浏览了一些答案,但在我的情况下没有任何效果。
请看下面我的代码:
#settings.py
ACCOUNT_ADAPTER = 'kvizmaster.adapter.MyAccountAdapter'
#adaper.py
from django.http import HttpResponseRedirect
from django.conf import settings
from allauth.account.adapter import DefaultAccountAdapter
class MyAccountAdapter(DefaultAccountAdapter):
def get_login_redirect_url(self, request):
print("in code")
redirect_to = request.GET.get('next', '')
print(redirect_to)
return HttpResponseRedirect(redirect_to)
登录网址
<a title="Google" class="socialaccount_provider google" style="text-decoration:none;" href="/accounts/google/login/?process=login?next={{request.GET.next}}">Sign in with Google</a>
形成下一个变量
<input type="" name="next" value="{{ request.GET.next }}"/>
登录 url 分配了正确的 href 并且下一个变量适用于表单。但是,我无法访问adapter.py 中的“next”。请提出建议。