Choix de champs de formulaire Django, ajout d'un attribut
PLANNING_CHOICES = (
('0',u'Every morning'),
('1',u'Every night'),
('2',u'Never'),
)
planning = forms.ChoiceField(
required=True,
choices = PLANNING_CHOICES,
)
Avoir un tel champ de formulaire nommé la planification, j'ai besoin d'ajouter l'attribut de titre au choix et à la fin rend comme ceci:
<select>
<option value="0" title="bla1">Every morning</option>
<option value="1" title="bla2">Every night</option>
<option value="2" title="bla3">Never</option>
</select>
Comment peut-il être atteint ?
source d'informationauteur Hellnar
Vous devez vous connecter pour publier un commentaire.
Vous auriez à la sous-classe le terrain pour prendre quelque moyen que ce soit en précisant le titre que vous souhaitez et le widget pour afficher le nouvel attribut.
Si vous aviez quelque chose comme ceci (note: entièrement non testé):
...vous devriez être en mesure de le faire:
C'est comment j'ai résolu le problème
Vous ne pouvez pas. Non sans trop de hackery, au moins.
Vous êtes probablement à la bonne utilisation de form_utils.BetterFormun package externe plutôt que de
django.forms.Form
si vous voulez avoir cela, et bien plus de contrôle sur le balisage généré.render_option
a été retiré de Django 1.11 partir. C'est ce que j'ai fait pour y parvenir. Un peu de creuser et cela semble simple. Fonctionne avec Django 2.0+La forme:
La sortie dont j'ai besoin est que: