HttpResponseRedirect django + facebook

stemmer
0

Jeg har et skjema med 2 knapper. avhengig av hvilken knapp klikk brukeren er tatt til ulike url. view funksjonen er:

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}) 

for mal:

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

så mitt problem er siden ikke er omdirigere til url. Hvis jeg gjør HttpResponseRedirect ( '../') det gir meg riktig side, men url er ikke i endring.

gjeldende siden = friend / status / så etter innsending form min url bør være frinedlist / list / så dette skal fungere HttpResponseRedirect ( '../ liste /'), men url er ikke å få endret. Noen ide? Hvordan kan jeg fikse dette Thanks

Publisert på 25/05/2009 klokken 07:53
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Hvorfor trenger du å bruke relative webadresser? Kan du ikke bruke absolutte webadresser?

Svarte 25/05/2009 kl. 08:50
kilden bruker

stemmer
2

"Så problemet mitt er siden ikke omdirigere til url. Hvis jeg gjør HttpResponseRedirect ( '../') det gir meg riktig side, men url er ikke i endring."

Med "URL" Jeg gjetter du mener "URLen som vises i nettleseren". Det hjelper hvis spørsmålet ditt er svært presis.

Først må du oppgi en absolutt URL. http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect

Det er ganske klart fra standardene (RFC 2616, avsnitt 14.30) som en absolutt URL er nødvendig. Noen nettlesere kan tolerere en relativ URL. Noen ikke.

For det andre bør du aldri bruker relative URL-er hvor som helst i programmene dine.

Du bør bruke omvendt .

from django.core.urlresolvers import reverse

def myview(request):
    theURL= reverse('path.to.viewFunction')
    return HttpResponseRedirect(theURL)
Svarte 25/05/2009 kl. 10:56
kilden bruker

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