我遇到了迭代 ChoiceField 并从值和标签构建自己的HTML的问题。将“widget”参数指定为选择时,该字段不再可迭代。
但是,如果我将其指定为 RadioSelect 。
,它可以正常工作表格:
class MyFormCreate( Form ) :
QUOTES = (
(34, "Hi, Patrick. Wait, I'M PATRICK!"),
(21, "I like pie."),
(76, "No, this is Patrick!"),
)
patrick = ChoiceField(choices = QUOTES, widget = Select)
模板:
<select name="{{form.patrick.name}}">
{% for option in form.patrick %}
<option value="{{option.choice_value}}">{{option.choice_label}}</option>
{% endfor %}
</select>
我做错了什么?
(Python 2.7.3和Django 1.4.5)
答案 0 :(得分:5)
这会是你想要的吗?
<select name="{{ form.patrick.name }}">
{% for value, text in form.patrick.field.choices %}
<option value="{{ value }}">{{ text }}</option>
{% endfor %}
</select>
此外,白色空间是你的朋友。 :)