http://docs.djangoproject.com/en/dev/ref/forms/widgets/#Django.forms.Select
ここでは、SELECTウィジェットを実行できると書かれています。しかし、どうすればそれを行うことができますか? Pythonでそのフィールドを作成する方法の例は示されていません。
<select>
<option>option 1</option>
<option>option 2</option>
</select>
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>
CHOICES= (
('ME', '1'),
('YOU', '2'),
('WE', '3'),
)
select = forms.CharField(widget=forms.Select(choices=CHOICES))
私の場合、errxのソリューションはほぼ正しかったのですが、次のように機能しました(Django v1.7x)。
CHOICES= (
('1','ME'),
('2','YOU'),
('3','WE'),
)
select = forms.ChoiceField(widget=forms.Select, choices=CHOICES)
CHOICES内の要素は、($ option_value、$ option_text)に対応します。
Django 2.0
Options = [
('1', 'Hello'),
('2', 'World'),
]
category = forms.ChoiceField(label='Category', widget=forms.Select, choices=sample)
ところで、タプルもリストと同じように機能します。
Options = (
('1', 'Hello'),
('2', 'World'),
)
category = forms.ChoiceField(label='Category', widget=forms.Select, choices=sample)