Django-fr

Forum

#1 28-02-2011 10:21:17

Django
Membre
Inscription : 30-12-2010
Messages : 20

Questions sur les widgets Django (Bouton radio)

Bonjour,

J'ai ce code :

dans form.py :

class IRMImageInfoForm(ModelForm):

     class Meta:
         model = IRMImageInfo
         exclude = ('irm')

class IRMImageInfoForm(ModelForm):

     class Meta:
         model = IRMImageInfo
         exclude = ('irm')

J'ai aussi ce code dans models.py :

class IRMImageInfo(models.Model):
     """
     IRM related infos. Mainly location.
     """

     irm= models.ForeignKey(IRM)

     # Characteristics of the tumor
     MULTIPLICITY_CHOICES = ( ('Unique','Unique'), 
('Multiple','Multiple'), )
     multiplicity = models.CharField('Multiplicity', max_length=8,
                                                     
choices=MULTIPLICITY_CHOICES,
                                                     blank=True)

Ce code représente une liste déroulante avec deux valeurs.

Question 1:

Est-ce qu'un bout de code dans le code ci-dessus nous montre que c'est
une liste déroulante ?

Question 2 :

Comment pourrais-je facilement remplacer la liste déroulante par deux
boutons radios ?

Je vous remercie d'avance pour votre aide.

Hors ligne

#2 28-02-2011 11:10:02

David Thenon
Membre
Inscription : 11-08-2010
Messages : 156
Site Web

Re : Questions sur les widgets Django (Bouton radio)

Salut,

> Est-ce qu'un bout de code dans le code ci-dessus nous montre que c'est
> une liste déroulante ?
Dans les modèles il n'y a pas de principe de liste de séléction à proprement
parler, par contre l'argument "choices" remplit démontre bien un champ à
remplir selon une liste de choix (à ne pas confondre avec un <select/> en
HTML).

> Comment pourrais-je facilement remplacer la liste déroulante par deux
> boutons radios ?
Par défaut le widget utilisé pour un champ avec une liste de choix est
toujours une liste de séléction (<select/>), si tu veux utiliser autre chose
il suffit de lui spécifier un autre widget qui implémente l'utilisation du
choices, tel que RadioSelect pour ce que tu veux :

http://docs.djangoproject.com/en/1.2/ref/forms/widgets/#django.forms.RadioSelect

ll y'a plusieurs manière de changer le widget d'un champs, la plus simple dans
ton cas étant celle ci:

http://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#overriding-the-
default-field-types-or-widgets

Hors ligne

Pied de page des forums