4

我在遍历ChoiceField并从值和标签构建自己的 HTML 时遇到问题。将“widget”参数指定为Select时,该字段不再可迭代。

但是,如果我将其指定为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)

4

1 回答 1

5

这会是你要找的吗?

<select name="{{ form.patrick.name }}">
    {% for value, text in form.patrick.field.choices %}
        <option value="{{ value }}">{{ text }}</option>
    {% endfor %}
</select>

此外,空白是您的朋友。:)

于 2013-04-20T07:26:45.280 回答