首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WTForm i阵列- UnboundField FormField

WTForm i阵列- UnboundField FormField
EN

Stack Overflow用户
提问于 2014-12-04 18:33:46
回答 1查看 1.4K关注 0票数 0

我是一个使用WTForms和Python的初学者。我在通过jinja2渲染的字典或列表中聚合WTForm时遇到了一个问题。例如:

代码语言:javascript
复制
class CJanuary(Form):
    nr          = int(12)
    netto       = DecimalField(u'Salary netto',         default = 0, places = 2)
    brutto      = DecimalField(u'Salary brutto',        default = 0, places = 2)    

class InputMonthlyForm(Form):
    january = FormField(CJanuary)
    months  = [FormField(CJanuary)]

如果我按如下方式呈现它:

代码语言:javascript
复制
{{form.january.netto}}

在这种情况下,一切都很好,我得到了源代码:

代码语言:javascript
复制
<input id="january-netto" name="january-netto" type="text" value="0.00">

但是如果我尝试从列表渲染:

代码语言:javascript
复制
{{form.months[0].netto}}

在源代码中我什么也得不到。

检查列表中的内容:

代码语言:javascript
复制
{{form.months[0]}}

我得到了:

代码语言:javascript
复制
<UnboundField(FormField, (<class 'apps.placowy.forms.InputMonthlyForm.CJanuary'>,), {})>

我已经在互联网上搜索过了,但我找不到任何解决方案。在数组中聚合WTForm可能是不可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-04 18:47:45

尝试使用FieldList而不是list:

代码语言:javascript
复制
class CJanuary(Form):
    nr          = int(12)
    netto       = DecimalField(u'Salary netto',         default = 0, places = 2)
    brutto      = DecimalField(u'Salary brutto',        default = 0, places = 2)    

class InputMonthlyForm(Form):
    january = FormField(CJanuary)
    months  = FieldList(FormField(CJanuary))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27291751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档