Comment gérer plusieurs formulaires dans une vue?

Parfois, nous faisons deux formulaires ou plus en une page qui résultent de sortie ou d'erreur inutile.



Pour traiter ce problème, nous devons mettre en valeur unique de chaque formulaire.

Solutions :



Nous allons commancer à' modifier votre template.








#page.html
























<'form method="'POST"'>'




{{form1.as_p}}




<'input type="'hidden"' name="'action"' value="'first"'>'




<'input type="'submit"' value="'Submit"'>'




<'/form>'








<'form method="'POST"'>'




{{form2.as_p}}




<'input type="'hidden"' name="'action"' value="'second"'>'




<'input type="'submit"' value="'Submit"'>'




<'/form>'








<'form method="'POST"'>'




{{form3.as_p}}




<'input type="'hidden"' name="'action"' value="'third"'>'




<'input type="'submit"' value="'Submit"'>'




<'/form>'








Remarquez que j''ai mis dans chaque formulaire <'input type="'hidden"' name="'action"'>' qui a une valeur diffé'rente (premier, deuxiè'me, troisiè'me). Cette valeur caché'e sera utilisé' dans les vues.








Maintenant, nous allons modifier le traitement dans la vue.








#views.py
























def myview(request):




if request.method == ''POST'':




if request.POST[''action''] == ''first'':




//do stuff here for form1








elif request.POST[''action''] == ''second'':




//do stuff here for form2








elif request.POST[''action''] == ''third'':




//do stuff here for form3








return render(request, ''mypage.html'')














De cette faç'on, le systè'me saura quelle forme doit ê'tre procé'dé'.




Il ne s''agit que d''un é'chantillon de base. Il existe de nombreuses faç'ons de traiter ce genre de problè'me.




Nombre de Lectures : 286
Date de mise en ligne : 04 avr. 2014 à 17:12

Les Catégories

Une Pub