Django HttpResponseRedirect vs render_to_response - Wie bekomme ich ein Anmeldeformular, um mich so zu verhalten, wie ich es brauche?

Folgendes habe ich bereits ausgechecktStapelüberlauf-Frage zum Unterschied zwischen HttpResponse, HttpResponseRedirect und render_to_responseIch habe nicht nur die offiziellen Django-Dokumente durchgesehen, sondern bin mir auch nicht sicher, wie ich die Funktionalität, die ich erstellen möchte, am besten erhalten kann.

Im Moment habe ich eineindex.html mit einer Login - Funktion (wie imviews.py unten) wo dierender_to_response das bringt mich zuportal / index.html. Allerdings daurls.py (su) diktiert, die URL in der URL-Leiste meines Browsers isthttp://127.0.0.1:8000/login/. Dies bedeutet, dass das Aktualisieren der Seite das erneute Öffnen des Formulars erzwingt.

Wie bekomme ich die URL (sobald ich angemeldet bin), die so aussieht?http://127.0.0.1:8000/ oder, wenn das nicht machbar ist,http://127.0.0.1:8000/portal/ - Das liegt daran, dass ich es für ungeschickt halte, dass jedes Mal, wenn Sie die Seite nach dem Anmelden neu laden, der Browser gezwungen wird, die Eingabeaufforderung zu öffnenMöchten Sie wirklich erneut ein Formular senden?.

Vielen Dank, dass Sie einem Django-Neuling geholfen haben!

views.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'),