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

Répondre à