繁体   English   中英

使用自定义用户后端django登录重定向

[英]login redirect using custom user backend django

我试图在登录后将用户重定向到成功页面,但是我不明白重定向背后的繁琐工作,我的主页是登录表单,就像这样

urlpatterns = [
  url(r'^$', index, name='index'),
  url(r'^dashboard/$', dashboard, name='dashboard'),
]

索引视图通过REST调用处理远程身份验证:

def index(request):
    template_name = 'login.html'
    if request.method == 'GET':
        form = Login()
        return render(request, template_name, {
            'form': form,
        })
    elif request.method == 'POST':
        credentials = {"username": request.POST.get('username', ''), 
                       "password": request.POST.get('password', '')}
        user_backend = CustomRemoteUserBackend()
        new_user = user_backend.authenticate(credentials=credentials)

        if new_user is not None:
            Login(request, new_user)
            return redirect(reverse('dashboard'))
        else:
            form = Login()
            return render(request, template_name, {
                'form': form,
            })

@login_required()
def dashboard(request):
    return render(request, 'dashboard.html')

但是,当用户提交时,登录页面会再次使用以下网址加载:

http://127.0.0.1:8000/?next=/dashboard/

最后,我在settings.py中有这个:

LOGIN_REDIRECT_URL = '/dashboard/'
LOGIN_URL = '/'

我如何重定向到仪表板视图?,我尝试使用内置视图进行登录,但是由于使用的是自定义用户后端,因此我不知道如何覆盖默认登录行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM