2014-04-06 22 views
1

的造型模板HTML單選投入的建議的方法是:訪問RadioField在WTForms子場

{% for subfield in form.radio %} 
<tr> 
    <td>{{ subfield }}</td> 
    <td>{{ subfield.label }}</td> 
</tr> 
{% endfor %} 

但如果我有無線子域之間的一些元素?我想要做這樣的事情:

{{ form.radio[0] }} {{ form.radio[0].label }} 
<div>Something 1</div> 
<div>Something 2</div> 
<div>Something 3</div> 
{{ form.radio[1] }} {{ form.radio[1].label }} 
<div>Something 4</div> 
{{ form.radio[2] }} {{ form.radio[2].label }} 

有沒有像這樣訪問subfileds的方法嗎?

回答

1

將它轉換爲列表,你很好走。

In [1]: import wtforms 
In [2]: class Form(wtforms.form.Form): 
    ...:   radio = wtforms.fields.RadioField(choices=((1, 1), (2, 2))) 
    ...: 
In [3]: f = Form() 
In [4]: option1, option2 = f.radio 
In [5]: print option1 
<input id="radio-0" name="radio" type="radio" value="1"> 
In [6]: print option2 
<input id="radio-1" name="radio" type="radio" value="2"> 
In [7]: opts = list(f.radio) 
In [8]: print opts[0] 
<input id="radio-0" name="radio" type="radio" value="1"> 
In [9]: print opts[1] 
<input id="radio-1" name="radio" type="radio" value="2">