2009-04-28 8 views
3

J'ai un formulaire dans lequel l'utilisateur sélectionne quelques éléments à afficher sur "la page suivante". Cette sélection est toujours unique, et nous allons stocker chaque ensemble de sélections faites à l'aide d'un modèle, indexé par le id comme sur les modèles Django. Lorsque l'utilisateur sélectionne ses choix et POST en utilisant le bouton Soumettre, je voudrais que notre application stocke ses sélections dans le modèle, puis rende une page avec l'ID du modèle afin que l'utilisateur puisse revenir à la page elle créé à tout moment avec une requête simple GET.Envoyer un utilisateur à une page créée en fonction de sa requête POST dans Django

Par exemple, l'utilisateur passe à /coolapp/selectprefs/, fait quelques sélections et clique sur Envoyer. L'utilisateur doit alors être pris à /coolapp/selections/42 étant donné que lorsque l'utilisateur a soumis et créé l'enregistrement, l'enregistrement a reçu un id de 42. Ce que je ne comprends pas, c'est comment envoyer l'utilisateur à "la page suivante" en réponse (par exemple /coolapp/selections/42 dans l'exemple ci-dessus) après avoir cliqué sur le bouton Soumettre. Amener un utilisateur à une page d'un ID unique en fonction de ce qu'elle a saisi semble être une tâche commune (par exemple, cela se produira lorsque je clique sur le bouton pour soumettre cette question sur SO), mais je ne sais pas comment faire. et j'apprécierais vos conseils.

Répondre

8

Renvoyez un HttpResponseRedirect à partir de votre vue qui gère le POST.

+0

Merci, Brian! Cela m'a mis sur la bonne voie. Il semble qu'il y ait un raccourci sympa pour ça aussi: http://docs.djangoproject.com/fr/dev/topics/http/shortcuts/#redirect – gotgenes

+0

Cool, je ne connaissais pas ce nouveau raccourci. :) –

Questions connexes