【发布时间】:2012-03-02 12:32:39
【问题描述】:
我在表单中有一个选择字段,现在我需要遍历该字段中的选项。
{{ form.myselect }} 给了我这个:
<select name="myselect" id="id_myselect">
<option value="" selected="selected">---------</option>
<option value="2">Item 1</option>
<option value="3">Item 2</option>
...
</select>
现在我需要为选项添加一些属性,因此我需要的是:
<select name="myselect" id="id_myselect">
{% for x in form.myselect %}
<option value="{{ x.id }}">{{ x.name }}</option>
{% endfor %}
</select>
但是有一个错误:
Caught TypeError while rendering: 'BoundField' object is not iterable
我尝试了form.myselect.all、form.myselect.option_set,但没有任何效果
【问题讨论】:
-
那么你想要的是所有
<option>没有<select>并且没有空白(-----)选项?还是我错过了什么? ...您想在这里具体实现什么目标? -
不,我想为选项添加一些属性,因此需要以某种方式在 `{% for x in form.myselect %}` 循环中添加它。
-
我的建议是更改小部件并在代码中执行:docs.djangoproject.com/en/dev/ref/forms/widgets
-
谢谢詹姆斯。我希望有一些方法可以迭代模板中的选项。
标签: django django-forms django-templates