【问题标题】:Can not iterate a ChoiceField with Select as widget无法使用 Select 作为小部件迭代 ChoiceField
【发布时间】:2013-04-20 06:23:39
【问题描述】:

我在迭代 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)

【问题讨论】:

    标签: django choicefield


    【解决方案1】:

    这就是你要找的吗?

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

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

    【讨论】:

      猜你喜欢
      • 2021-09-03
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 2014-05-12
      相关资源
      最近更新 更多