Django-fr

Forum

#1 06-04-2012 10:19:22

sesame
Membre
Inscription : 22-03-2011
Messages : 263

checkbox

bonjour

je voudrai dans mon formulaire utiliser plusieurs checkbox qui valident l'envoi de champ input

j'ai donc pour le formulaire

<form action="{% url chercher_filtre %}" method="get">

<td><input type="checkbox" checked="checked" name="theCheck0"  value="1"></td>
.......

<td><input type="checkbox" checked="checked" name="theCheck1"   value="2"></td>

......

</form>

et pour la vue j'ai

def search_filter(request):

try:
       if 'theCheck0' and 'theCheck1' in request.REQUEST:

....

except ValueError, error:
....
else:
        if 'theCheck0'and not('theCheck1') in request.REQUEST :   


premierement je suis pas sur par cette methode d'enchainer 10 if  si j'ai 10 checbox

Est ce que l'on doit proceder comme ca ?

d'autre part j'arrive pas a rajouter la condition

if 'theCheck1'and not('theCheck0') in request.REQUEST :   

pourquoi ??

Hors ligne

#2 06-04-2012 12:49:57

M. Namgyal Brisson
Membre
Inscription : 07-03-2012
Messages : 8

Re : checkbox

Il n'est pas correct de verifier directement dans l objet REQUEST, il te
faut voir l attribut GET car tu utilise la method get dans ton formulaire
(sinon POST) puis il existe deux methodes pour acceder aux valeurs 'get()'
et 'getlist()' c'est la method qui te concerne. Elle ramene une liste
Le 6 avr. 2012 11:20, "sesame" <pat.100 _AT_ hotmail.fr> a écrit :

> bonjour
>
> je voudrai dans mon formulaire utiliser plusieurs checkbox qui valident
> l'envoi de champ input
>
> j'ai donc pour le formulaire
>
> <form action="{% url chercher_filtre %}" method="get">
>
> <td><input type="checkbox" checked="checked" name="theCheck0"
> value="1"></td>
> .......
>
> <td><input type="checkbox" checked="checked" name="theCheck1"
> value="2"></td>
>
> ......
>
> </form>
>
> et pour la vue j'ai
>
> def search_filter(request):
>
>  try:
>       if 'theCheck0' and 'theCheck1' in request.REQUEST:
>
> ....
>
> except ValueError, error:
> ....
> else:
>        if 'theCheck0'and not('theCheck1') in request.REQUEST :
>
>
> premierement je suis pas sur par cette methode d'enchainer 10 if  si j'ai
> 10 checbox
>
> Est ce que l'on doit proceder comme ca ?
>
> d'autre part j'arrive pas a rajouter la condition
>
>  if 'theCheck1'and not('theCheck0') in request.REQUEST :
>
> pourquoi ??
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#3 10-04-2012 06:47:52

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : checkbox

bonjour

j'aimerai bien voir un exemple de l'utilisation de ces méthodes ??

Hors ligne

#4 10-04-2012 08:07:49

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : checkbox

si j'ai
<form action="{% url chercher_filtre %}" method="get" onsubmit="

<td style="text-align:center"><input type="checkbox" id="theCheck1" name="validation"  value="1"></td>
.....

dans views.py :

if request.method == 'GET':
            liste = request.GET.getlist('validation')
            print liste


j'ai liste=[]  ??

Hors ligne

#5 10-04-2012 19:34:47

M. Namgyal Brisson
Membre
Inscription : 07-03-2012
Messages : 8

Re : checkbox

Bonsoir,

Dans ton template,

<form method="GET" action=".#FormResponse">
        <td style="text-align: center">
            <input type="checkbox" name="result" value="Bike" /> j'ai un
vélo<br />
        </td>
        <td style="text-align: center">
            <input type="checkbox" name="result" value="Car" /> J'ai une
voiture
        </td>
        <input type="submit" value="Tester" />
</form>

Dans views.py

result = request.GET.getlist('result', False)
if result:
    print result

résultat:

[10/Apr/2012 20:31:56] "GET /web/css/images/arrow-up.gif HTTP/1.1" 304 0
[u'Bike', u'Car']
[10/Apr/2012 20:32:00] "GET /contact/?result=Bike&result=Car HTTP/1.1" 200
10158

Documention:

http://www.softwarematrix.cn/blog/django/django-request-post-getlist

Bonne continuation.


2012/4/10 sesame <pat.100 _AT_ hotmail.fr>

> si j'ai
> <form action="{% url chercher_filtre %}" method="get" onsubmit="
>
> <td style="text-align:center"><input type="checkbox" id="theCheck1"
> name="validation"  value="1"></td>
> .....
>
> dans views.py :
>
> if request.method == 'GET':
>            liste = request.GET.getlist('validation')
>            print liste
>
>
> j'ai liste=[]  ??
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#6 11-04-2012 06:19:10

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : checkbox

merci beaucoup !!

Hors ligne

#7 12-04-2012 07:15:11

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : checkbox

bonjour

mais comment validez vous l'une ou l'autre checkbox
c'est pas par un appel a une fonction dans un script javascript ?

Hors ligne

#8 12-04-2012 08:03:38

Sébastien Cheminel
Membre
Inscription : 08-12-2011
Messages : 12

Re : checkbox

Bonjour,

Peut-être devriez vous utiliser des radios boutons (HTML)?
<input type="radio" name="unseulnom" value="valeur1">
<input type="radio" name="unseulnom" value="valeur2">
<input type="radio" name="unseulnom" value="valeur3">

En django c'est simple :
https://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.RadioSelect
c'est comme un "Select" qui s'affiche comme des radios boutons

Librement,
Sébastien Cheminel

http://sebastien.cheminel.com



2012/4/12 sesame <pat.100 _AT_ hotmail.fr>:
> c'est pas par un appel a une fonction dans un script javascript ?

Hors ligne

#9 13-04-2012 08:22:52

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : checkbox

bonjour

et moi j'aimerai bien comprendre

<td style="text-align:center"><input type="checkbox" id="theCheck1" name="theCheck"  value="1"></td>

dans views

liste = request.GET.getlist('theCheck')

me renvoie si les checbox sont cochées

[u'1', u'2']   ????

comment fait on pour traiter cette liste  ????

Hors ligne

#10 13-04-2012 09:18:01

Sébastien Cheminel
Membre
Inscription : 08-12-2011
Messages : 12

Re : checkbox

for element in liste:
  faire_quelque_chose_de_l(element)

http://diveintopython.adrahon.org/file_handling/for_loops.html

Librement,
Sébastien Cheminel

http://sebastien.cheminel.com


Le 13 avril 2012 09:22, sesame <pat.100 _AT_ hotmail.fr> a écrit :
> bonjour
>
> et moi j'aimerai bien comprendre
>
> <td style="text-align:center"><input type="checkbox" id="theCheck1"
> name="theCheck"  value="1"></td>
>
> dans views
>
> liste = request.GET.getlist('theCheck')
>
> me renvoie si les checbox sont cochées
>
> [u'1', u'2']   ????
>
> comment fait on pour traiter cette liste  ????
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#11 13-04-2012 12:13:39

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : checkbox

merci !!

Hors ligne

Pied de page des forums