このリンクhttp://wtforms.simplecodes.com/docs/1.0.2/specific_problems.html#dynamic-form-compositionを見つけた後、フォームにフィールドを追加しようとしています。Google AppEngineと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>
洞察力をありがとう。
リンク先のコードスニペットに示されているように、フォームをインスタンス化していません。d
はクラスであり、そのインスタンスではありません。
form = d()
またはそれがPOSTの場合:
form = d(request.POST)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加