Django: Comment créer un formulaire de sélection multiple?
Je suis débutant dans Django/Python et j'ai besoin de créer un select multiple forme. Je sais que c'est facile, mais je ne peux pas trouver un exemple. Je sais comment créer un CharField avec un widget mais je m'embrouille de toutes les options à l'intérieur de fields.py.
Par exemple je ne sais pas lequel des suivants est le meilleur pour une sélection multiple forme.
'ChoiceField', 'MultipleChoiceField',
'ComboField', 'MultiValueField',
'TypedChoiceField', 'TypedMultipleChoiceField'
Et ici est la forme que j'ai besoin de créer.
<form action="" method="post" accept-charset="utf-8">
<select name="countries" id="countries" class="multiselect" multiple="multiple">
<option value="AUT" selected="selected">Austria</option>
<option value="DEU" selected="selected">Germany</option>
<option value="NLD" selected="selected">Netherlands</option>
<option value="USA">United States</option>
</select>
<p><input type="submit" value="Continue →"></p>
</form>
EDIT:
Encore une petite question. Si je veux ajouter à chaque option, en plus de l'attribut comme données:
<option value="AUT" selected="selected" data-index=1>Austria</option>
Comment puis-je le faire?
Merci pour toute aide!
source d'informationauteur CodeArtist
Vous devez vous connecter pour publier un commentaire.
Je pense que CheckboxSelectMultiple devrait fonctionner. Selon votre problème, Dans votre forms.py wirite le code ci-dessous
EDIT : j'ai pensé à l'écriture complète du code de flux, de Sorte que vous pouvez le comprendre mieux. Parce que vous pourriez obtenir confondre
Dans votre Views.py définir la fonction suivante
Dans votre render_country.html
J'espère que cette aide.Permettez-moi de savoir si c'est ce que vous attendiez.
Je l'ai fait de cette façon :
forms.py
urls.py
your_countries.html
Il fonctionne très bien dans mon exemple, Si vous avez besoin de quelque chose de plus, demandez-moi!!
Quant à ma deuxième question c'est la solution. Une extension de la classe:
Exemple:
ModelMultipleChoiceField est votre ami. Un CharField est capable de stocker une sélection, mais pas plusieurs, sans un peu de travail supplémentaire, ce qui, je déconseille.
Doc API pour ModelMultipleChoiceField
Vous pouvez également définir les pays domaine dans votre formulaire de classe comme
Je ne sais pas lequel est le mieux dans SelectMultiple et CheckboxSelectMultiple mais ça fonctionne aussi.
Pour plus de détails, vous pouvez utiliser la documentation de django sur les widgets.