向WTForms动态添加字段,返回UnboundField

时间:2013-11-08 09:30:58

标签: google-app-engine jinja2 wtforms

找到此链接后http://wtforms.simplecodes.com/docs/1.0.2/specific_problems.html#dynamic-form-composition我正在尝试向表单添加字段。我正在使用Google App Engine和Jinja2。

这是我正在使用的代码。

def build_form(form_json):
  class DynamicForm(wtforms.Form): pass                      
  d = DynamicForm
  name = "name"
  setattr(d, name, TextField(name.title()))
  return d

我发送给我的jinja模板。在模板中,我有这一行:

<div>{{ new_form.name.label }}: {{ new_form.name }}</div>

页面本身只显示“:”。

当我查看HTML源代码时,我看到了这一点:

<div>: <UnboundField(TextField, ('Name',), {})></div>

感谢您的任何见解。

1 个答案:

答案 0 :(得分:2)

您尚未实例化表单,如链接到的代码段所示。 d是类,而不是它的实例。

form = d()

或者如果是POST:

form = d(request.POST)