HttpResponseRedirect Django + facebook

stemmen
0

Ik heb een formulier met 2 knoppen. afhankelijk van de druk op de knop in gebruik is om verschillende url. -functie is:

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

voor template:

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

dus mijn probleem is pagina wordt niet omgeleid naar de URL. Als ik HttpResponseRedirect ( '../') het geeft me de juiste pagina, maar url verandert niet.

huidige page = vriendenlijst / toestand / so na het indienen vormen mijn url moet frinedlist / list zijn / dus dit zou moeten werken HttpResponseRedirect ( '../ lijst /'), maar url krijgt niet veranderd. Enig idee? Hoe kan ik dit oplossen Thanks

De vraag is gesteld op 25/05/2009 om 08:53
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Waarom heb je nodig om de relatieve URL's gebruiken? Kun je geen absolute URL's gebruiken?

antwoordde op 25/05/2009 om 09:50
bron van user

stemmen
2

"Dus mijn probleem is pagina wordt niet omgeleid naar de URL. Als ik HttpResponseRedirect ( '../') het geeft me de juiste pagina, maar url is niet veranderen."

Door het "URL" Ik veronderstel dat je "De URL die in de browser". Het helpt als je vraag is zeer nauwkeurig.

Eerst moet u een absolute URL te bieden. http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect

Het is heel duidelijk uit de standaarden (RFC 2616, paragraaf 14.30) dat een absolute URL is vereist. Sommige browsers kunnen een relatieve URL tolereren. Sommigen doen dat niet.

Ten tweede, moet je nooit gebruiken overal relatieve URL in uw programma's.

Je moet met behulp van omgekeerde .

from django.core.urlresolvers import reverse

def myview(request):
    theURL= reverse('path.to.viewFunction')
    return HttpResponseRedirect(theURL)
antwoordde op 25/05/2009 om 11:56
bron van user

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