2011-06-20 80 views
7

我使用WTForms,我試圖顯示SelectField,但我得到了以下錯誤:WTForms「值過多解壓」與SelectField

>>> form.status() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Python26\Lib\site-packages\wtforms\fields.py", line 136, in __call__ 
    return self.widget(self, **kwargs) 
    File "C:\Python26\Lib\site-packages\wtforms\widgets.py", line 237, in __call__ 
    for val, label, selected in field.iter_choices(): 
    File "C:\Python26\Lib\site-packages\wtforms\fields.py", line 390, in iter_choices 
    for value, label in self.choices: 
ValueError: too many values to unpack 

這裏是我的形式:

class TestForm(Form): 
    status = SelectField(u'Status', choices=Test.statuses()) 

這個Test.statuses靜態方法返回一個字符串列表。我究竟做錯了什麼?

回答

4

沒關係,它需要的元組,而不是字符串:

>>> form.status.choices = [(status, status) for status in Test.statuses()] 
>>> form.status() 
u'<select id="status" name="status"><option value="Status1">Status1</option></select>' 
+0

它的工作表示感謝。 –

相關問題