I'm trying to redirect the user to a success page after login, but I don't understand the bussiness behind redirect, my home page is the login form, like so
urlpatterns = [
url(r'^$', index, name='index'),
url(r'^dashboard/$', dashboard, name='dashboard'),
]
The index view handles the remote auth via a REST call:
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')
But when the user submits, the login page loads again with this url:
http://127.0.0.1:8000/?next=/dashboard/
Finally, I have this in settings.py:
LOGIN_REDIRECT_URL = '/dashboard/'
LOGIN_URL = '/'
How can I redirect to the dashboard view?, I tried using the built-in view for login, but since I'm using a custom user backend I didn't know how to override the default login behavior.