如何使用Django的表单框架来选择选项?

TIM*_*MEX 10 html python forms django

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

在这里,它说我可以做SELECT小部件.但是我该怎么做?它没有显示如何在python中编写该字段的任何示例.

 <select>
   <option>option 1</option>
   <option>option 2</option>
 </select>
Run Code Online (Sandbox Code Playgroud)

Yuj*_*ita 14

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>
Run Code Online (Sandbox Code Playgroud)


err*_*rrx 13

CHOICES= (
('ME', '1'),
('YOU', '2'),
('WE', '3'),
)
select = forms.CharField(widget=forms.Select(choices=CHOICES))
Run Code Online (Sandbox Code Playgroud)


ion*_*chy 9

在我的情况下,errx的解决方案几乎是正确的,以下工作(django v1.7x):

CHOICES= (
('1','ME'),
('2','YOU'),
('3','WE'),
)
select = forms.ChoiceField(widget=forms.Select, choices=CHOICES)
Run Code Online (Sandbox Code Playgroud)

CHOICES内的元素对应于($ option_value,$ option_text).