HttpResponseRedirect Django + फेसबुक

वोट
0

मैं 2 बटन के साथ एक रूप है। बटन पर क्लिक उपयोगकर्ता के आधार पर अलग यूआरएल के लिए लिया जाता है। दृश्य समारोह है:

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

टेम्पलेट के लिए:

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

इसलिए मेरी समस्या है पृष्ठ यूआरएल के लिए पुनः निर्देशित नहीं है। अगर मैं HttpResponseRedirect बनाने ( '../') यह मुझे सही पृष्ठ देता है, लेकिन यूआरएल में बदलाव नहीं किया गया है।

वर्तमान पृष्ठ = friendlist / स्थिति / इसलिए प्रस्तुत करने मेरी यूआरएल फार्म frinedlist / सूची होना चाहिए / तो यह HttpResponseRedirect ( '../ सूची /') काम करना चाहिए लेकिन यूआरएल को बदला नहीं जा रहा है के बाद। किसी भी विचार? मैं इस धन्यवाद ठीक कर सकते हैं

25/05/2009 को 08:53
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

क्यों सापेक्ष URL का उपयोग करने की आवश्यकता है? आप पूर्ण यूआरएल का उपयोग नहीं कर सकते हैं?

25/05/2009 को 09:50
का स्रोत उपयोगकर्ता

वोट
2

"इसलिए मेरी समस्या ( '../') यह मुझे सही पृष्ठ देता है, लेकिन यूआरएल नहीं बदल रहा है पृष्ठ यूआरएल के लिए पुनः निर्देशित नहीं है। अगर मैं HttpResponseRedirect बनाते हैं।"

"URL" मैं तुम्हारा मतलब "यूआरएल ब्राउज़र में दिखाया गया है" अनुमान लगा रहा हूँ। यह मदद करता है यदि आपका प्रश्न बहुत ही सटीक है।

सबसे पहले, आप एक पूर्ण URL उपलब्ध कराना होगा। http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect

यह मानकों (RFC 2616, खंड 14.30) है कि एक पूर्ण URL की आवश्यकता है से काफी स्पष्ट है। कुछ ब्राउज़र एक सापेक्ष URL बर्दाश्त कर सकते हैं। कुछ नहीं है।

दूसरा, आप अपने कार्यक्रमों में सापेक्ष URL का उपयोग कहीं भी कभी नहीं करना चाहिए।

आप का उपयोग किया जाना चाहिए रिवर्स

from django.core.urlresolvers import reverse

def myview(request):
    theURL= reverse('path.to.viewFunction')
    return HttpResponseRedirect(theURL)
25/05/2009 को 11:56
का स्रोत उपयोगकर्ता

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