Outils pour utilisateurs

Outils du site


python:flask:formulaires

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:flask:formulaires [2023/11/01 16:12]
marclebrun [Traitement]
python:flask:formulaires [2023/11/10 07:16] (Version actuelle)
marclebrun [Traitement]
Ligne 19: Ligne 19:
     actif  = BooleanField(u"​Actif"​)     actif  = BooleanField(u"​Actif"​)
     submit = SubmitField(u"​Enregistrer"​)     submit = SubmitField(u"​Enregistrer"​)
-    cancel = SubmitField(u"​Annuler"​) 
 </​code>​ </​code>​
  
Ligne 29: Ligne 28:
 <form action=""​ method="​post">​ <form action=""​ method="​post">​
     {{ form.hidden_tag() }}     {{ form.hidden_tag() }}
 +    ​
     <div class="​form-group">​     <div class="​form-group">​
         {{ form.nom.label(class="​form-label"​) }}         {{ form.nom.label(class="​form-label"​) }}
         {{ form.nom(class="​form-input"​) }}         {{ form.nom(class="​form-input"​) }}
     </​div>​     </​div>​
 +    ​
     <div class="​form-group">​     <div class="​form-group">​
         {{ form.prenom.label(class="​form-label"​) }}         {{ form.prenom.label(class="​form-label"​) }}
         {{ form.prenom(class="​form-input"​) }}         {{ form.prenom(class="​form-input"​) }}
     </​div>​     </​div>​
 +    ​
     <div class="​form-group">​     <div class="​form-group">​
         {{ form.genre.label(class="​form-label"​) }}         {{ form.genre.label(class="​form-label"​) }}
-        {{ form.genre(class="​form-input") }}+        {{ form.genre(class="​form-select") }} 
 +    </​div>​ 
 +     
 +    <​div>​ 
 +        {{ form.submit(class="​btn btn-primary"​) }} 
 +        <a class="​btn btn-secondary"​ href="​javascript:​history.back()">​Annuler</​a>​
     </​div>​     </​div>​
-    {{ form.submit(class="​btn btn-primary"​) }} 
-    {{ form.cancel(class="​btn btn-secondary"​) }} 
 </​form>​ </​form>​
 </​code>​ </​code>​
Ligne 69: Ligne 74:
         form = PersonneEditForm()         form = PersonneEditForm()
         ​         ​
-        # si le formulaire a été soumis +        # si le formulaire a été soumis ​et validé 
-        if form.is_submitted():+        if form.validate_on_submit():
         ​         ​
-            ​# si on a validé avec le bouton "​Annuler"​ +            # enregistrer l'​objet 
-            if form.cancel.data:​ +            personne.nom ​   = form.nom.data 
-                return redirect(url_for('​personnes.index'​)) +            personne.prenom = form.prenom.data 
-             +            personne.genre ​ = form.genre.data 
-            # si on a validé avec le bouton "​Enregistrer"​ +            if id == 0: 
-            if form.submit.data:​ +                # si 0 on est dans l'​ajout d'un nouvel objet 
-                # si tous les champs du formulaire sont valides +                db.session.add(personne) 
-                if form.validate():​ +            # valider l'​enregistrement dans la db 
-                    ​# enregistrer l'​objet +            db.session.commit()
-                    personne.nom ​   = form.nom.data +
-                    personne.prenom = form.prenom.data +
-                    personne.genre ​ = form.genre.data +
-                    if id == 0: +
-                        # si 0 on est dans l'​ajout d'un nouvel objet +
-                        db.session.add(personne) +
-                    # valider l'​enregistrement dans la db +
-                    db.session.commit()+
                     ​                     ​
-                    ​# rediriger vers l'​index +            ​# rediriger vers l'​index 
-                    return redirect(url_for('​personnes.index'​))+            return redirect(url_for('​personnes.index'​))
         ​         ​
         # sinon il faut le remplir et l'​afficher         # sinon il faut le remplir et l'​afficher
Ligne 105: Ligne 102:
  
  
-===== Lister les valeurs du formulaire ===== 
- 
-Pour debug, afficher toutes les valeurs transmises par le formulaire : 
- 
-<code python> 
-from flask import request 
- 
-@app.route("/​formulaire",​ methods=["​GET",​ "​POST"​]) 
-def test_formulaire():​ 
- 
-    if request.method == '​POST':​ 
-    ​ 
-        for field, value in request.form.items():​ 
-            print(field,​ value) 
- 
-... 
-</​code>​ 
  
python/flask/formulaires.1698855167.txt.gz · Dernière modification: 2023/11/01 16:12 par marclebrun