J'essaie d'afficher une case à cocher présélectionnée dans mais la case django code>: code> apparaît non cochée. J'utilise django 1.3 bêta code>. Est-ce que je manque quelque chose ici? P> p>
3 Réponses :
import django
from django import forms
class MyForm(forms.Form):
option = forms.BooleanField(required=False, initial=True)
>>>print MyForm()
<tr><th><label for="id_option">Option:</label></th><td><input checked="checked" type="checkbox" name="option" id="id_option" /></td></tr>
>>> django.VERSION
(1, 3, 0, 'beta', 1)
>>>
As you can see the checked="checked" is properly set.Are you sure you are not modifying something with onload javascript ?
Non je ne modifie rien avec JavaScript. Et aucune option = formes.boolfield (requis = false, initiale = true), ne fonctionne pas.
Définissez le champ Attributs:
options = forms.MultipleChoiceField(label='some label', choices=(('happy','Happy'),('sad','Sad')),
widget=forms.CheckboxSelectMultiple(attrs={'checked' : 'checked'}))
Essayez:
option = forms.BooleanField(
widget=forms.CheckboxInput(attrs={'checked': True})
)
Bonjour et bienvenue à Stackoverflow! Ajoutez quelques détails supplémentaires à votre réponse autres que le code. Cela aiderait les autres mieux à comprendre.
Bien que ce code puisse résoudre la question, y compris une explication de la manière et pourquoi cela résout le problème aiderait vraiment à améliorer la qualité de votre poster et aboutit probablement à plus de votes ultérieurs. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, pas seulement la personne qui demande maintenant. S'il vous plaît Modifier Votre réponse Pour ajouter des explications et donner une indication de quelles limitations et hypothèses s'appliquent.
J'ai le même problème, seulement je construis une forme dynamique, ajoutant des champs à l'intérieur de mes formulaires init b>.
Est-ce un modelform? Si vous passez dans une instance, l'instance peut remplacer la valeur de l'option.