HttpResponseRedirect Django + facebook

ψήφοι
0

Έχω μια φόρμα με 2 κουμπιά. ανάλογα με το χρήστη Κάντε κλικ στο κουμπί λαμβάνεται σε διαφορετική διεύθυνση URL. άποψη λειτουργίας είναι:

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 

έτσι το πρόβλημά μου είναι η σελίδα δεν είναι ανακατεύθυνση στο url. Αν κάνω HttpResponseRedirect ( «../») μου δίνει την σωστή σελίδα, αλλά url δεν αλλάζει.

τρέχουσα σελίδα = «friendlist / κατάσταση / έτσι μετά την υποβολή σχηματίζουν url μου θα πρέπει να είναι frinedlist / κατάλογος / έτσι αυτό θα πρέπει να εργαστεί HttpResponseRedirect (“../ κατάλογος /”), αλλά url δεν παίρνει αλλάξει. Οποιαδήποτε ιδέα; Πώς μπορώ να διορθώσω αυτό το Ευχαριστίες

Δημοσιεύθηκε 25/05/2009 στις 08:53
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
0

Γιατί θα πρέπει να χρησιμοποιήσετε σχετική urls; Δεν μπορείτε να χρησιμοποιήσετε το απόλυτο urls;

Απαντήθηκε 25/05/2009 στις 09:50
πηγή χρήστη

ψήφοι
2

«Έτσι το πρόβλημά μου είναι η σελίδα δεν είναι ανακατεύθυνση στο url. Αν κάνω HttpResponseRedirect (“../”) μου δίνει την σωστή σελίδα, αλλά url δεν αλλάζει.»

Με τον όρο «URL» Υποθέτω εννοείς «Η διεύθυνση 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