我想使用 WTForms 在表格中呈现表单。似乎TableWidget可以解决问题,但我可以让它工作的唯一方法如下:
from wtforms import Form, TextField, widgets
class User(Form):
user = TextField('User')
email = TextField('Password')
widget = widgets.TableWidget(with_table_tag=False)
user = User()
print user.widget(user)
这似乎很奇怪(print user.widget(user)
部分)根据文档,我应该能够说:
class User(Form):
user = TextField('User', widget=widgets.TableWidget)
email = TextField('Password', widget=widgets.TableWidget)
user = User()
for form_field in user:
print form_field
然而,这返回TypeError: __str__ returned non-string (type TableWidget)
当我替换用户时,通过电子邮件发送:
user = TextField('User')
email = TextField('Password')
然后当然 WTForms 渲染按预期工作。
这是如何运作的?