from django.conf import settings from django.contrib.auth import views as auth_views from django.contrib.auth.views import redirect_to_login from django.shortcuts import resolve_url default_login_view = auth_views.LoginView.as_view( template_name='helpdesk/registration/login.html') def login(request): login_url = settings.LOGIN_URL # Prevent redirect loop by checking that LOGIN_URL is not this view's name condition = ( login_url and ( login_url != resolve_url(request.resolver_match.view_name) and (login_url != request.resolver_match.view_name) ) ) if condition: if 'next' in request.GET: return_to = request.GET['next'] else: return_to = resolve_url('helpdesk:home') return redirect_to_login(return_to, login_url) else: return default_login_view(request)