Re,
Bon j'ai fait un test avec deux input dans le même formulaire. Du coté de
views.py ça donne ça :
if _formClient.is_valid():
if 'save1' in request.POST :
_formClient.save()
print(request.POST)
if 'save2' in request.POST :
retourClient = _formClient.save(commit=False)
retourClient.code = "toto2"
retourClient.save()
print(request.POST)
et là ça fonctionne parfaitement bien. Question : deux formulaires dans la même
views.py c'est possible ?
++
Charlie
Salut et merci à vous deux.
Alors pour commencer je confirme que le problème d'indentation vient bien du
mail. Dans mon code c'est propre.
@Rémy :
C'est la solution que j'essaye (je m'aperçois que j'ai mal recopié le code dans
ma première demande ;) )
Voici ma fonction dans views.py :
if 'save1' in request.POST :
if _formClient.is_valid():
_formClient.save()
print(request.POST)
if 'save2' in request.POST :
if _formPays.is_valid():
_formPays.save()
print(request.POST)
où save1 et save2 sont les attributs des "name" de chaque input (2 formulaires
donc deux inputs dans la même page).
@Galia :
En gros sur ma page j'ai un formulaire pour enregistrer un client et un pour
ajouter un pays.
Si je souhaite enregistrer un pays c'est save2 qui devrait être dans
request.POST. Voici donc le résultat de print(request.POST) :
<QueryDict: {'pays': ['ANGLETERRE'], 'savePays': ['Enregistrer']>.
Donc jusque là tout est normal. De plus le pays s'enregistre bien.
Cependant j'ai aussi une erreur qui me dit que les champs de l'autre formulaire
sont manquants... (voir PJ).
Je vais essayer de mettre deux *2 inputs dans 1 seul formulaire* et de
volontairement différencier l'action pour voir si ça fonctionne correctement
dans ce cas là.
Merci de votre aide.
Pourra tu ajouter un
print request.POST
dans la view
comme ça tu pourra voir ce qui arrive vraiment
Mais en gros ta demarche devrait marcher, on peut avoir deux Forms dans un view
et valider que un en utilisant un if
Par contre j'ai du mal à voir si ton *indentation* est correct (elle a l'air
fosse, mais je pense que ce le mail ...)
Galia
2014-09-08 15:53 GMT+02:00 Rémy Hubscher <[email protected][1]>:
Pour faire un reset tu n'as normalement pas besoin d'un bouton submit.Un bouton
reset devrait suffire.
<input type="reset" value="reset">
c.f: https://developer.mozilla.org/fr/docs/Web/HTML/Element/Input[2]
<form action="/todo" method="POST"> <input type="submit" *name="save"*
value="Sauvegarder"> <input type="submit" *name="save_and_add"*
value="Sauvegarder et ajouter un nouveau"></form>
save=Sauvegarder ou save_and_add=Sauvegarder%20et%20ajouter%20un%20nouveau
if "save" in self.POST: # saveelif "save_and_add" in self.POST: #
save_and_add
[email protected][3]
http://lists.afpy.org/mailman/listinfo/django[4]
-- Galia WEISS
WL Square
www.wlsquare.com[5]
Fondatrice et gérante
Ingénieur en développment informatique
06 52 27 93 70
--------
[1] mailto:[email protected]
[2] https://developer.mozilla.org/fr/docs/Web/HTML/Element/Input
[3] mailto:[email protected]
[4] http://lists.afpy.org/mailman/listinfo/django
[5] http://www.wlsquare.com
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django