【发布时间】:2014-05-12 01:54:42
【问题描述】:
我正在尝试遍历 ChoiceField 并在我的模板中分别显示单选按钮。但是,当我使用通过 for 循环运行字段的标准方法时,我的非属性会呈现任何内容。
这是我表单中的一个 sn-p
class ResponseForm(forms.Form):
CHOICES = (('1', 'First',), ('2', 'Second',))
suggestions = forms.ChoiceField(required=True, widget=forms.RadioSelect(), choices=CHOICES)
模板中的片段
{% for radio in response_form.suggestions %}
{{ radio.id_for_label }} {{ radio.choice_label }} {{ radio.tag }}
{% endfor %}
这就是在 for 循环期间 radio 变量在调试器中的样子。
http://i.stack.imgur.com/lyCE6.png
我们正在运行 Django 1.5,所以应该支持它。无法从文档/其他答案中解决这个问题,我不确定什么会干扰这个。
编辑:
默认的 RadioSelect 小部件被 floppyforms 模块覆盖,这似乎不能以这种方式迭代(这很有意义)。
【问题讨论】:
-
我刚刚意识到我们正在使用 floppyforms 来替换默认小部件,这似乎是该行为的嫌疑人。
标签: python django django-forms