Je suis un débutant dans Django et j'apprécierais vraiment si vous pouviez m'offrir quelques conseils. J'essaye de créer un formulaire qui permet à un utilisateur de cocher une ou plusieurs options. J'ai compris que je devais utiliser le champ MultipleChoiceField avec un widget CheckboxSelectMultiple mais la documentation de Django n'offre pas d'exemple sur ce sujet. Je vous serais reconnaissant si vous pouviez me donner un exemple et expliquer comment je gère les résultats. Par exemple si j'ai un formulaire avec les options a b c d, et que l'utilisateur cochera c et d. Aussi, comment puis-je spécifier les choix (je ne veux pas utiliser un db, une liste de chaînes est ce que j'ai en tête)? Merci beaucoupDjango formulaire multiple choix
Répondre
espérons que cette aide: D
from django import forms
class Test(forms.Form):
OPTIONS = (
("a", "A"),
("b", "B"),
)
name = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,
choices=OPTIONS)
forms.py
class SomeForm(forms.Form):
CHOICES = (('a','a'),
('b','b'),
('c','c'),
('d','d'),)
picked = forms.MultipleChoiceField(choices=CHOICES, widget=forms.CheckboxSelectMultiple())
views.py
def some_view(request):
if request.method == 'POST':
form = SomeForm(request.POST)
if form.is_valid():
picked = form.cleaned_data.get('picked')
# do something with your results
else:
form = SomeForm
return render_to_response('some_template.html', {'form':form },
context_instance=RequestContext(request))
some_template.html
<form method='post'>
{{ form.as_p }}
<input type='submit' value='submit'>
</form>
résultats:
explication:
choix:
Le premier élément de chaque tuple est la valeur réelle à stocker. Le deuxième élément est le nom lisible par l'utilisateur pour l'option .
obtenir des boîtes sélectionnées:
form.cleaned_data.get('picked')
entraînera une liste des 'valeurs réelles'. Par exemple, si je l'ai remplacé le # do something with your results
avec print picked
vous voyez:
[u'a', u'c']
dans votre console
Merci beaucoup ... J'ai vraiment éclairci les choses pour moi. J'ai encore une question de plus. Quand j'essaierai de gérer les résultats, j'essaierai de gérer chaque élément de la liste en tant que u'a 'ou juste la chaîne' a '. – Bigdinrock
c'est une très bonne réponse! Je vous remercie! – user1451340
Comment prendre la liste des noms lisibles par l'homme? J'ai besoin de prendre la liste de la deuxième option de tuple. –
vous pouvez vérifier https://pypi.python.org/pypi/django-multiselectfield/
from multiselectfield import MultiSelectField
# ...
MY_CHOICES = (('item_key1', 'Item title 1.1'),
('item_key2', 'Item title 1.2'),
('item_key3', 'Item title 1.3'),
('item_key4', 'Item title 1.4'),
('item_key5', 'Item title 1.5'))
MY_CHOICES2 = ((1, 'Item title 2.1'),
(2, 'Item title 2.2'),
(3, 'Item title 2.3'),
(4, 'Item title 2.4'),
(5, 'Item title 2.5'))
class MyModel(models.Model):
# .....
my_field = MultiSelectField(choices=MY_CHOICES)
my_field2 = MultiSelectField(choices=MY_CHOICES2,
max_choices=3,
max_length=3)
- 1. Champ de formulaire à choix multiple dans Django
- 2. multiple champ Choix Enregistrement
- 3. Django choix multiple d'objets retournant une clé étrangère
- 4. Django Choix multiple Champ/Case à cocher Sélectionner plusieurs
- 5. Choix multiple sur WinForms
- 6. Menu à choix multiple
- 7. Python - balisage Choix multiple
- 8. sur mesure choix multiple
- 9. iPhone + Option à choix multiple
- 10. Python: choix multiple Code questionnement
- 11. xsd: choix multiple sans répétition
- 12. Mysql: multiple liste de choix
- 13. requête SQLite avec choix multiple
- 14. Entrée multiple dans Django
- 15. choix de champ de formulaire Django, en ajoutant un attribut
- 16. Comment obtenir l'étiquette d'un choix dans un formulaire Django ChoiceField?
- 17. Django choix dynamiques
- 18. choix d'impression Django apprécient
- 19. choix de modèle Django
- 20. Django: Afficher Choix Valeur
- 21. choix django forment le comportement
- 22. Django formulaire ne valide pas: "Sélectionner un choix valide 20 n'est pas l'un des choix disponibles"
- 23. SQL + Support Cyrilic + Requête paramétrée + Choix multiple
- 24. php créateur de quiz à choix multiple
- 25. Recherche par choix multiple dans Wordpress
- 26. Aide avec l'application à choix multiple?
- 27. Sac à dos à choix multiple
- 28. Boîte de dialogue Choix multiple dans l'alerte
- 29. Choix multiple avec options fixes. Ne vois pas les options (Django)
- 30. Django modèle Choix champ: Liste énorme de choix
Comment puis-je faire afficher Django déjà enregistré/valeurs sélectionnées lorsque éditer le formulaire? – YoYo