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"
Je définis mes champs via le fichier forms.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Extrait de mon fichier html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'}), }
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Je crois que j'ai besoin d'un peu d'aide.
En vous remerciant pour vos retours.
Partager