title: Django Shows Auth Login Page when Already Logged In
body: <p>My URL for login is </p>
  
  <pre><code>url(r'^login/$', 'django.contrib.auth.views.login',
      {'template_name': 'login.html',
       'extra_context': {'next': '/tasks/home/',
                         'title': 'Taskman | Log In'},
  </code></pre>
  
  <p>and it does successful login, but when i type "/user/login" again as the URL, it again displays login page after successful login.</p>
  
  <p>So does Django doesn't handle this case?</p>
  
  <p>As <code>login</code> views shows </p>
  
  <pre><code>def login(request, template_name='registration/login.html',
            redirect_field_name=REDIRECT_FIELD_NAME,
            authentication_form=AuthenticationForm,
            current_app=None, extra_context=None):
      """
      Displays the login form and handles the login action.
      """
      redirect_to = request.REQUEST.get(redirect_field_name, '')
  
      if request.method == "POST":
          form = authentication_form(request, data=request.POST)
          if form.is_valid():
  
              # Ensure the user-originating redirection url is safe.
              if not is_safe_url(url=redirect_to, host=request.get_host()):
                  redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
  
              # Okay, security check complete. Log the user in.
              auth_login(request, form.get_user())
  
              return HttpResponseRedirect(redirect_to)
      else:
          form = authentication_form(request)
  
      current_site = get_current_site(request)
  
      context = {
          'form': form,
          redirect_field_name: redirect_to,
          'site': current_site,
          'site_name': current_site.name,
      }
      if extra_context is not None:
          context.update(extra_context)
      return TemplateResponse(request, template_name, context,
                              current_app=current_app)
  </code></pre>
  
  <p>So do i have to overwrite <code>AuthenticationForm</code>?</p>