/ / Wie verwende ich das Formular-Framework von Django für ausgewählte Optionen? - Python, HTML, Django, Formen

Wie verwende ich Djangos Formular-Framework für ausgewählte Optionen? - Python, HTML, Django, Formulare

http://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.Select

Hier heißt es, ich kann SELECT-Widgets machen. Aber wie mache ich das? Es zeigt kein Beispiel, wie man dieses Feld in Python schreibt.

 <select>
<option>option 1</option>
<option>option 2</option>
</select>

Antworten:

6 für die Antwort № 1
class MyForm(forms.Form):
CHOICES = (("Option 1", "Option 1"),("Option 2", "Option 2"),)
field = forms.ChoiceField(choices=CHOICES)

print MyForm().as_p()

# out: <p><label for="id_field">Field:</label> <select name="field" id="id_field">n<option value="Option 1">Option 1</option>n<option value="Option 2">Option 2</option>n</select></p>

11 für die Antwort № 2
CHOICES= (
("ME", "1"),
("YOU", "2"),
("WE", "3"),
)
select = forms.CharField(widget=forms.Select(choices=CHOICES))

7 für die Antwort № 3

Die Lösung von errx war in meinem Fall fast korrekt.

CHOICES= (
("1","ME"),
("2","YOU"),
("3","WE"),
)
select = forms.ChoiceField(widget=forms.Select, choices=CHOICES)

Die Elemente in CHOICES entsprechen ($ option_value, $ option_text).


0 für die Antwort № 4

Django 2.0

Options = [
("1", "Hello"),
("2", "World"),
]
category = forms.ChoiceField(label="Category", widget=forms.Select, choices=sample)

BTW-Tupel funktioniert genauso wie Liste.

Options = (
("1", "Hello"),
("2", "World"),
)
category = forms.ChoiceField(label="Category", widget=forms.Select, choices=sample)