HttpResponseRedirect django + facebook

voti
0

Ho una forma con 2 tasti. a seconda che l'utente pulsante di scatto viene portato in diversi URL. view funzione è:

friend_id = request.POST.get('selected_friend_id_list')

history = request.POST.get('statushistory')
if history:
    print dfgdfgdf
    return HttpResponseRedirect('../status/')

else:
    return direct_to_template(request, 'friends_list.fbml',
                          extra_context={'fbuser': user,
                                         'user_lastname':user_lastname,
                                         'activemaintab':activemaintab,
                                         'friends':friends,
                                         'friend_list':friend_list}) 

per il modello:

<input type=submit  value=Calendar View name=calendarview/>
<input type=submit  value=Status History name=statushistory/>
</form 

quindi il mio problema è di reindirizzamento della pagina per l'url. Se faccio HttpResponseRedirect ( '../') mi dà la pagina corretta, ma l'URL non cambia.

Pagina corrente = FriendList / Stato / così dopo aver presentato la mia forma di URL deve essere frinedlist / list / quindi questo dovrebbe funzionare HttpResponseRedirect ( '../ lista /'), ma url non è sempre cambiato. Qualche idea? Come posso risolvere questo problema Grazie

È pubblicato 25/05/2009 alle 08:53
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0

Perché è necessario utilizzare URL relativi? Non è possibile utilizzare URL assoluti?

Risposto il 25/05/2009 a 09:50
fonte dall'utente

voti
2

"Quindi il mio problema è di reindirizzamento della pagina all'URL. Se faccio HttpResponseRedirect ( '../') mi dà la pagina corretta, ma l'URL non cambia."

Con "URL" Sto indovinando si intende "l'URL visualizzato nel browser". Aiuta se la tua domanda è molto precisa.

In primo luogo, è necessario fornire un URL assoluto. http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect

E 'del tutto evidente dagli standard (RFC 2616, sezione 14.30) che è richiesto un URL assoluto. Alcuni browser possono tollerare un URL relativo. Alcuni non lo fanno.

In secondo luogo, non si dovrebbe mai usare ovunque relativo URL nei vostri programmi.

Si dovrebbe utilizzare inverso .

from django.core.urlresolvers import reverse

def myview(request):
    theURL= reverse('path.to.viewFunction')
    return HttpResponseRedirect(theURL)
Risposto il 25/05/2009 a 11:56
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more