Django HttpResponseRedirect vs render_to_response: cómo obtener un formulario de inicio de sesión para que se comporte de la manera que lo necesito

Ya he comprobado lo siguientePregunta de stackoverflow sobre la diferencia entre HttpResponse, HttpResponseRedirect y render_to_response, además de haber revisado los documentos oficiales de django, pero no estoy seguro de cuál es la mejor forma de obtener la funcionalidad que deseo crear.

Ahora mismo tengo unindex.html con una función de inicio de sesión (como se ve en lavistas.py abajo) donde elrender_to_response eso me lleva aportal / index.html. Sin embargo, comourls.py (ver abajo) dicta, la url en la barra de url de mi navegador eshttp://127.0.0.1:8000/login/. Esto significa que actualizar la página obliga a que el formulario vuelva a ir.

¿Cómo puedo hacer que la url (una vez iniciada sesión) se vea como?http://127.0.0.1:8000/ o, si eso no es factible,http://127.0.0.1:8000/portal/ - Esto se debe a que creo que es torpe que cada vez que vuelva a cargar la página una vez iniciada la sesión, obligue al navegador a abrir el indicador.¿Estás seguro de que quieres volver a enviar un formulario?.

¡Muchas gracias por ayudar a un novato de Django!

vistas.py

@cache_page(60 * 15)
def login_user(request):
    #inactive_image_url = ""
    #invalid_credentials_url = ""
    context_instance=RequestContext(request)
    if request.POST:
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)            
                state = "You're successfully logged in!"
                return render_to_response('ucproject/portal/index.html', 
                        {'state':state, 'username':username}, context_instance=RequestContext(request))
            else:
                #state_img = inactive_image_url
                state = "Your account is not active, please contact UC admin."
        else:
            #state_img = invalid_credentials_url
            state = "Your username and/or password were incorrect."
    return render_to_response('ucproject/index.html', 
            {'state': state,
             #'state_img': state_img,
             'username': username
            }, context_instance=RequestContext(request))

def portal(request):
    username = 'username'
    return render_to_response('ucproject/portal/index.html', 
            {'state': state,'username': username}, context_instance=RequestContext(request))

urls.py

# Login / logout.
url(r'^registration/, 'portal.views.registration'),
url(r'^login/, 'portal.views.login_user'),
url(r'^portal/, 'portal.views.portal'),
url(r'^portal/index.html, 'portal.views.portal'),

Respuestas a la pregunta(1)

Su respuesta a la pregunta