attribut html sur champ select/checkbox
Bonjour à tous,
je débute sur Python et Django (en auto-formation) et je bloque sur une mise en forme.
J'ai une classe dans laquelle je veux définir une liste fixe. J'ai donc procédé selon ce que j'ai trouvé de la façon suivante dans le fichier models.py pour le champ "genre"
Code:
1 2 3 4 5 6 7 8 9
| class Personne(models.Model):
GENRE = [('H','Homme'),('F','Femme')]
nom = models.CharField(max_length=100)
prenom = models.CharField(max_length=100, blank=True, null=True)
dateNaissance = models.DateField(blank=True, null=True)
genre = models.CharField(max_length=1, blank=True, null=True, choices=GENRE, default='Homme')
coordonnees = models.OneToOneField(Coordonnees, on_delete=models.CASCADE, blank=True, null=True)
adresse = models.OneToOneField(Adresse, on_delete=models.CASCADE, blank=True, null=True)
onArchive = models.BooleanField(default=False, blank=True, null=True) |
Je définis mes champs via le fichier forms.py:
Code:
1 2 3 4 5 6 7 8 9
| class PersonneForm(ModelForm):
class Meta:
model = Personne
fields = ['nom', 'prenom', 'genre', 'dateNaissance', 'coordonnees', 'onArchive']
widgets = {
'nom': TextInput(attrs={'class' : 'form-control'}),
'prenom': TextInput(attrs={'class' : 'form-control'}),
'dateNaissance': TextInput(attrs={'class' : 'form-control', 'type': 'date'}),
} |
Extrait de mon fichier html:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <div class="col-md-6">
<div class="form-group">
<label>Prenom</label>
<div class="col-sm-9">
{{ form.prenom }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Genre</label>
<div class="col-sm-9">
{{ form.genre }}
</div>
</div>
</div> |
Mon formulaire s'affiche bien, , mais je ne trouve pas comment spécifier l'attribut "form-control" pour le select. Du coup, ce champ n'est pas mis en forme. De plus, le champ onArchive, que je voudrais sous forme de checkbox, s'affiche comme un select.
Je crois que j'ai besoin d'un peu d'aide.
En vous remerciant pour vos retours.