WTFormsフィールドオブジェクトを呼び出すと、レンダリングされたフィールドが生成されます。たとえば、引数はすべて属性として使用されます。
form.field(attribute='value')
次のようなものを返します
<input attribute='value'>
ハイフンを含むdata-provideなどのHTML5カスタムデータ属性を追加して、Pythonで単一のキーワード引数として解析できないようにするにはどうすればよいですか?
対応するキーと値のペアを使用して辞書を作成し、**を使用してフィールド呼び出しに渡します。
attrs = {'data-provide': "foo"}
form.field(**attrs)
編集:@NiklasBによるコメントが答えの一部であるように見えます:flask-WTFでflaskを使用している場合は、テンプレートで:を使用してください。{{ form.field( **{'data-provide': 'foo'} ) }}
form.field関数呼び出しでそのような辞書を使用する必要はありません。**は、辞書アイテムを関数の名前付きパラメーターに解凍するため、代わりにパラメーターを追加するだけです。
{{form.field(data-provide ='foo')}}
ただし、そのフィールドに必要なパラメータの後に実行してください。言い換えれば、パラメータを追加するだけでよいのに、なぜ辞書をすぐに解凍するのでしょうか。