2

このリンク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>

洞察をありがとう。

4

1 に答える 1

2

リンク先のコード スニペットに示すように、フォームをインスタンス化していません。dインスタンスではなく、クラスです。

form = d()

またはそれが POST の場合:

form = d(request.POST)
于 2013-11-08T11:50:04.270 に答える