HttpResponseRedirect Django + facebook

szavazat
0

Van egy űrlapot 2 gomb. attól függően, hogy a gombra kattintva a felhasználó kerül a különböző url. nézet funkció:

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

A sablon:

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

így a probléma az oldal nem átirányítása az url-t. Ha én HttpResponseRedirect (../ '), ez ad nekem a megfelelő oldalon, de az URL nem változik.

aktuális oldal = „friendlist / állapot / so benyújtása után képeznek url legyen frinedlist / list /, ezért ez a munka HttpResponseRedirect (../ listája /), de az URL nem kapok változott. Valami ötlet? Hogyan tudom kijavítani ezt Köszönet

A kérdést 25/05/2009 08:53
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

Miért kell használni a relatív URL-ek? Tud nem az abszolút URL-eket?

Válaszolt 25/05/2009 09:50
a forrás felhasználó

szavazat
2

„Így a probléma az oldal nem átirányítása az url-t. Ha én HttpResponseRedirect (../ '), ez ad nekem a megfelelő oldalon, de az URL nem változik.”

A „URL” Gondolom azt jelenti: „Az URL jelenik meg a böngésző”. Segít, ha a kérdés nagyon pontos.

Először is, meg kell adnia egy abszolút URL-t. http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect

Elég egyértelmű a szabványok (RFC 2616 szakaszának 14,30), hogy az abszolút URL-t. Egyes böngészők tolerálja relatív URL-t. Néhányan nem.

Másodszor, soha ne használja a relatív URL-bárhol a programokat.

Meg kell használnia fordított .

from django.core.urlresolvers import reverse

def myview(request):
    theURL= reverse('path.to.viewFunction')
    return HttpResponseRedirect(theURL)
Válaszolt 25/05/2009 11:56
a forrás felhasználó

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