[英]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.